| Index: mojo/public/cpp/application/lib/application_runner.cc
|
| diff --git a/mojo/public/cpp/application/lib/application_runner.cc b/mojo/public/cpp/application/lib/application_runner.cc
|
| index 214d09f64564b3d362f8587a82840fedc338705b..3654715f92385c3884b7cc8fb7dedbe8ed066a7d 100644
|
| --- a/mojo/public/cpp/application/lib/application_runner.cc
|
| +++ b/mojo/public/cpp/application/lib/application_runner.cc
|
| @@ -20,8 +20,9 @@ void ApplicationImpl::Terminate() {
|
| RunLoop::current()->Quit();
|
| }
|
|
|
| -ApplicationRunner::ApplicationRunner(ApplicationDelegate* delegate)
|
| - : delegate_(delegate) {}
|
| +ApplicationRunner::ApplicationRunner(
|
| + std::unique_ptr<ApplicationDelegate> delegate)
|
| + : delegate_(std::move(delegate)) {}
|
|
|
| ApplicationRunner::~ApplicationRunner() {
|
| assert(!delegate_);
|
| @@ -47,13 +48,13 @@ MojoResult ApplicationRunner::Run(MojoHandle app_request_handle) {
|
| Environment env;
|
| {
|
| RunLoop loop;
|
| - ApplicationImpl app(delegate_, MakeRequest<Application>(MakeScopedHandle(
|
| - MessagePipeHandle(app_request_handle))));
|
| + ApplicationImpl app(delegate_.get(),
|
| + MakeRequest<Application>(MakeScopedHandle(
|
| + MessagePipeHandle(app_request_handle))));
|
| loop.Run();
|
| }
|
|
|
| - delete delegate_;
|
| - delegate_ = nullptr;
|
| + delegate_.reset();
|
|
|
| g_running = false;
|
|
|
|
|