| Index: mojo/public/cpp/application/lib/service_provider_impl.cc
|
| diff --git a/mojo/public/cpp/application/lib/service_provider_impl.cc b/mojo/public/cpp/application/lib/service_provider_impl.cc
|
| index c9706014d6ad0f9bbd5cc0a515537821ee40fa3f..1edebd25532529411866b2a1537080110c3402ad 100644
|
| --- a/mojo/public/cpp/application/lib/service_provider_impl.cc
|
| +++ b/mojo/public/cpp/application/lib/service_provider_impl.cc
|
| @@ -19,7 +19,7 @@ ServiceProviderImpl::~ServiceProviderImpl() {
|
| ServiceProvider* ServiceProviderImpl::CreateRemoteServiceProvider() {
|
| // TODO(beng): it sure would be nice if this method could return a scoped_ptr.
|
| MOJO_DCHECK(!remote_);
|
| - remote_ = new internal::WeakServiceProvider(client());
|
| + remote_ = new internal::WeakServiceProvider(this, client());
|
| return remote_;
|
| }
|
|
|
| @@ -38,10 +38,7 @@ void ServiceProviderImpl::ConnectToService(
|
| }
|
|
|
| void ServiceProviderImpl::OnConnectionError() {
|
| - if (remote_) {
|
| - remote_->Clear();
|
| - remote_ = NULL;
|
| - }
|
| + ClearRemote();
|
| }
|
|
|
| void ServiceProviderImpl::AddServiceConnector(
|
| @@ -62,4 +59,11 @@ void ServiceProviderImpl::RemoveServiceConnector(
|
| service_connectors_.erase(it);
|
| }
|
|
|
| +void ServiceProviderImpl::ClearRemote() {
|
| + if (remote_) {
|
| + remote_->Clear();
|
| + remote_ = NULL;
|
| + }
|
| +}
|
| +
|
| } // namespace mojo
|
|
|