Index: ash/host/ash_window_tree_host_x11.cc |
diff --git a/ash/host/ash_window_tree_host_x11.cc b/ash/host/ash_window_tree_host_x11.cc |
index eff9ba60f9e98139d549da3e2d9a9830b4435ff0..beb129ff97a724038733f1a0e8734ee9d87525eb 100644 |
--- a/ash/host/ash_window_tree_host_x11.cc |
+++ b/ash/host/ash_window_tree_host_x11.cc |
@@ -19,9 +19,11 @@ |
#include "ui/aura/client/screen_position_client.h" |
#include "ui/aura/env.h" |
#include "ui/aura/window.h" |
+#include "ui/aura/window_event_dispatcher.h" |
#include "ui/base/x/x11_util.h" |
#include "ui/events/event.h" |
#include "ui/events/event_utils.h" |
+#include "ui/events/platform/platform_event_source.h" |
#include "ui/events/x/device_data_manager.h" |
#include "ui/events/x/device_list_cache_x.h" |
#include "ui/events/x/touch_factory_x11.h" |
@@ -129,6 +131,11 @@ void AshWindowTreeHostX11::UpdateDisplayID(int64 id1, int64 id2) { |
display_ids_.second = id2; |
} |
+void AshWindowTreeHostX11::PrepareForShutdown() { |
+ if (ui::PlatformEventSource::GetInstance()) |
+ ui::PlatformEventSource::GetInstance()->RemovePlatformEventDispatcher(this); |
+} |
+ |
void AshWindowTreeHostX11::SetBounds(const gfx::Rect& bounds) { |
WindowTreeHostX11::SetBounds(bounds); |
if (pointer_barriers_) { |