Index: ash/wm/window_util.cc |
diff --git a/ash/wm/window_util.cc b/ash/wm/window_util.cc |
index f7d7aaeffb5cae0538a8bfbc2f350ee814bad0f2..623eb50ed5cc699e9ef054f15a888befe91cb1bd 100644 |
--- a/ash/wm/window_util.cc |
+++ b/ash/wm/window_util.cc |
@@ -22,17 +22,23 @@ DEFINE_WINDOW_PROPERTY_KEY(bool, kOpenWindowSplitKey, false); |
namespace wm { |
void ActivateWindow(aura::Window* window) { |
- aura::client::GetActivationClient(Shell::GetRootWindow())->ActivateWindow( |
+ DCHECK(window->GetRootWindow()); |
+ aura::client::GetActivationClient(window->GetRootWindow())->ActivateWindow( |
window); |
} |
void DeactivateWindow(aura::Window* window) { |
- aura::client::GetActivationClient(Shell::GetRootWindow())->DeactivateWindow( |
+ DCHECK(window->GetRootWindow()); |
+ aura::client::GetActivationClient(window->GetRootWindow())->DeactivateWindow( |
window); |
} |
bool IsActiveWindow(aura::Window* window) { |
- return GetActiveWindow() == window; |
+ if (!window->GetRootWindow()) |
+ return false; |
+ |
+ return aura::client::GetActivationClient(window->GetRootWindow())-> |
+ GetActiveWindow() == window; |
} |
aura::Window* GetActiveWindow() { |