| Index: mojo/services/window_manager/window_manager_app.cc
|
| diff --git a/mojo/services/window_manager/window_manager_app.cc b/mojo/services/window_manager/window_manager_app.cc
|
| index bc6ca00042dbf24d22241ec278aba3f51cfd8fbe..2ba436a291a4bb42f41e83d83b71e734b79d6add 100644
|
| --- a/mojo/services/window_manager/window_manager_app.cc
|
| +++ b/mojo/services/window_manager/window_manager_app.cc
|
| @@ -90,7 +90,13 @@ class WindowManagerApp::WindowManagerInternalImpl
|
| ScopedMessagePipeHandle window_manager_pipe) override {
|
| // |wm_internal| is tied to the life of the pipe.
|
| WindowManagerImpl* wm = new WindowManagerImpl(app_, true);
|
| - BindToPipe(wm, window_manager_pipe.Pass());
|
| + WeakBindToPipe(wm, window_manager_pipe.Pass());
|
| + }
|
| +
|
| + // InterfaceImpl:
|
| + void OnConnectionError() override {
|
| + // Necessary since we used WeakBindToPipe and are not automatically deleted.
|
| + delete this;
|
| }
|
|
|
| private:
|
| @@ -122,7 +128,9 @@ WindowManagerApp::WindowManagerApp(
|
| dummy_delegate_(new DummyDelegate) {
|
| }
|
|
|
| -WindowManagerApp::~WindowManagerApp() {}
|
| +WindowManagerApp::~WindowManagerApp() {
|
| + STLDeleteElements(&connections_);
|
| +}
|
|
|
| // static
|
| View* WindowManagerApp::GetViewForWindow(aura::Window* window) {
|
|
|