Index: ash/shell.cc |
diff --git a/ash/shell.cc b/ash/shell.cc |
index cd317d7168feb92a2f9053842dcb174087045814..8ac2857533ec38d16ed577a0d95adfd554660f5a 100644 |
--- a/ash/shell.cc |
+++ b/ash/shell.cc |
@@ -105,6 +105,7 @@ |
#if defined(OS_CHROMEOS) |
#include "ash/ash_constants.h" |
#include "ash/display/display_change_observer_x11.h" |
+#include "ash/display/display_error_dialog.h" |
#include "ash/display/output_configurator_animation.h" |
#include "base/chromeos/chromeos_version.h" |
#include "base/message_pump_aurax11.h" |
@@ -304,6 +305,8 @@ Shell::~Shell() { |
output_configurator_->RemoveObserver(display_change_observer_.get()); |
if (output_configurator_animation_.get()) |
output_configurator_->RemoveObserver(output_configurator_animation_.get()); |
+ if (display_error_observer_.get()) |
+ output_configurator_->RemoveObserver(display_error_observer_.get()); |
base::MessagePumpAuraX11::Current()->RemoveDispatcherForRootWindow( |
output_configurator()); |
#endif // defined(OS_CHROMEOS) |
@@ -411,8 +414,10 @@ void Shell::Init() { |
// observer gets invoked after the root windows are configured. |
output_configurator_->AddObserver(display_change_observer_.get()); |
output_configurator_animation_.reset( |
- new internal::OutputConfiguratorAnimation()), |
+ new internal::OutputConfiguratorAnimation()); |
+ display_error_observer_.reset(new internal::DisplayErrorObserver()); |
output_configurator_->AddObserver(output_configurator_animation_.get()); |
+ output_configurator_->AddObserver(display_error_observer_.get()); |
display_change_observer_->OnDisplayModeChanged(); |
} |
#endif |