summaryrefslogtreecommitdiffstats
path: root/ash/shell.cc
diff options
context:
space:
mode:
authorsadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-17 22:41:55 +0000
committersadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-17 22:41:55 +0000
commit871e9cc5b6bfc6f3a15ce9a3068dab6b7b23c9d7 (patch)
tree2ef6b9b27b6c2e8a9b1686cd5526642845bd76c5 /ash/shell.cc
parenta9bc1a4bc7baac0d58582f8ee394f1f59db6408c (diff)
downloadchromium_src-871e9cc5b6bfc6f3a15ce9a3068dab6b7b23c9d7.zip
chromium_src-871e9cc5b6bfc6f3a15ce9a3068dab6b7b23c9d7.tar.gz
chromium_src-871e9cc5b6bfc6f3a15ce9a3068dab6b7b23c9d7.tar.bz2
ash: Fix a crash with touch-hud.
There are two issues: * Create the HUD after the containers are created to make sure the HUD window gets parented correctly. This regressed in r141881. * All windows get destroyed before the event-filters. So make sure the event-filter doesn't try to destroy the window again on destruction. This just went unnoticed since the crash happens when the session is terminating. BUG=133092 TEST=manually Review URL: https://chromiumcodereview.appspot.com/10532179 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142654 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/shell.cc')
-rw-r--r--ash/shell.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/ash/shell.cc b/ash/shell.cc
index c571527..59ac1f9 100644
--- a/ash/shell.cc
+++ b/ash/shell.cc
@@ -393,15 +393,16 @@ void Shell::Init() {
capture_controller_.reset(new internal::CaptureController);
+ internal::RootWindowController* root_window_controller =
+ new internal::RootWindowController(root_window);
+ root_window_controller->CreateContainers();
+
CommandLine* command_line = CommandLine::ForCurrentProcess();
if (command_line->HasSwitch(switches::kAshTouchHud)) {
touch_observer_hud_.reset(new internal::TouchObserverHUD);
AddEnvEventFilter(touch_observer_hud_.get());
}
- internal::RootWindowController* root_window_controller =
- new internal::RootWindowController(root_window);
- root_window_controller->CreateContainers();
// Create Controllers that may need root window.
// TODO(oshima): Move as many controllers before creating