Chromium Code Reviews| Index: ui/aura/env.cc |
| diff --git a/ui/aura/env.cc b/ui/aura/env.cc |
| index 90f3fbff4e20e2bfc4508d813d81ef9d32e25947..7e3eeac89a467e2e9ac16941d9d391dbc7ffd07f 100644 |
| --- a/ui/aura/env.cc |
| +++ b/ui/aura/env.cc |
| @@ -15,6 +15,7 @@ |
| #include "ui/compositor/compositor_switches.h" |
| #if defined(USE_X11) |
| +#include "base/message_pump_aurax11.h" |
| #include "ui/aura/display_change_observer_x11.h" |
| #endif |
| @@ -35,6 +36,11 @@ Env::Env() |
| } |
| Env::~Env() { |
| +#if defined(USE_X11) |
| + base::MessagePumpAuraX11::Current()->RemoveObserver( |
| + &device_list_updater_aurax11_); |
| +#endif |
| + |
| ui::Compositor::Terminate(); |
| } |
| @@ -97,7 +103,11 @@ void Env::SetEventFilter(EventFilter* event_filter) { |
| #if !defined(OS_MACOSX) |
| MessageLoop::Dispatcher* Env::GetDispatcher() { |
| +#if defined(USE_X11) |
| + return base::MessagePumpAuraX11::Current(); |
| +#else |
| return dispatcher_.get(); |
| +#endif |
| } |
| #endif |
| @@ -105,11 +115,13 @@ MessageLoop::Dispatcher* Env::GetDispatcher() { |
| // Env, private: |
| void Env::Init() { |
| -#if !defined(OS_MACOSX) |
| +#if defined(OS_WIN) |
| dispatcher_.reset(CreateDispatcher()); |
| #endif |
| #if defined(USE_X11) |
| display_change_observer_.reset(new internal::DisplayChangeObserverX11); |
| + base::MessagePumpAuraX11::Current()->AddObserver( |
|
sadrul
2012/08/29 16:01:25
Perhaps add a note here that adding the device-lis
|
| + &device_list_updater_aurax11_); |
| #endif |
| ui::Compositor::Initialize( |
| CommandLine::ForCurrentProcess()->HasSwitch( |