Index: mojo/public/cpp/bindings/lib/router.cc |
diff --git a/mojo/public/cpp/bindings/lib/router.cc b/mojo/public/cpp/bindings/lib/router.cc |
index da5f34b1df57ce4bbfaf8668061d2bbde6bc3e49..2fcc7d74131987ef5f4f1fa39725df8bde5b3e47 100644 |
--- a/mojo/public/cpp/bindings/lib/router.cc |
+++ b/mojo/public/cpp/bindings/lib/router.cc |
@@ -133,7 +133,8 @@ Router::Router(ScopedMessagePipeHandle message_pipe, |
if (expects_sync_requests) |
connector_.AllowWokenUpBySyncWatchOnSameThread(); |
connector_.set_incoming_receiver(filters_.GetHead()); |
- connector_.set_connection_error_handler([this]() { OnConnectionError(); }); |
+ connector_.set_connection_error_handler( |
+ base::Bind(&Router::OnConnectionError, base::Unretained(this))); |
} |
Router::~Router() {} |
@@ -309,7 +310,8 @@ void Router::OnConnectionError() { |
} |
encountered_error_ = true; |
- error_handler_.Run(); |
+ if (!error_handler_.is_null()) |
+ error_handler_.Run(); |
} |
// ---------------------------------------------------------------------------- |