Index: ash/wm/event_client_impl.cc |
diff --git a/ash/wm/event_client_impl.cc b/ash/wm/event_client_impl.cc |
index ab62f68dab9782ab85d2e6d77f365b36be051900..9e121d168b815a414fcb913eac237f9e59196d08 100644 |
--- a/ash/wm/event_client_impl.cc |
+++ b/ash/wm/event_client_impl.cc |
@@ -20,10 +20,13 @@ EventClientImpl::~EventClientImpl() { |
bool EventClientImpl::CanProcessEventsWithinSubtree( |
const aura::Window* window) const { |
- const aura::RootWindow* root_window = |
- window ? window->GetRootWindow() : NULL; |
- if (Shell::GetInstance()->session_state_delegate()->IsScreenLocked() && |
- root_window) { |
+ const aura::RootWindow* root_window = window ? window->GetRootWindow() : NULL; |
+ if (!root_window) |
+ return true; |
+ ash::SessionStateDelegate* state_delegate = |
+ Shell::GetInstance()->session_state_delegate(); |
+ if (!state_delegate->IsActiveUserSessionStarted() || |
+ state_delegate->IsScreenLocked()) { |
const aura::Window* lock_screen_containers = Shell::GetContainer( |
root_window, |
kShellWindowId_LockScreenContainersContainer); |