Index: ash/wm/overview/window_selector.cc |
diff --git a/ash/wm/overview/window_selector.cc b/ash/wm/overview/window_selector.cc |
index 593df59c90ee8f3cb18a5b5baa01c0e1b8a923b2..8d69738790c909135a533dfc9d0fea10bc569e4a 100644 |
--- a/ash/wm/overview/window_selector.cc |
+++ b/ash/wm/overview/window_selector.cc |
@@ -200,7 +200,6 @@ void WindowSelector::OnKeyEvent(ui::KeyEvent* event) { |
if (event->type() != ui::ET_KEY_PRESSED) |
return; |
- bool handled = true; |
switch (event->key_code()) { |
case ui::VKEY_ESCAPE: |
CancelSelection(); |
@@ -218,17 +217,17 @@ void WindowSelector::OnKeyEvent(ui::KeyEvent* event) { |
Move(WindowSelector::LEFT); |
break; |
case ui::VKEY_RETURN: |
- wm::GetWindowState( |
- grid_list_[selected_grid_index_]-> |
- SelectedWindow()->SelectionWindow())->Activate(); |
+ // Ignore if no item is selected. |
+ if (!grid_list_[selected_grid_index_]->is_selecting()) |
+ return; |
+ wm::GetWindowState(grid_list_[selected_grid_index_]-> |
+ SelectedWindow()->SelectionWindow())->Activate(); |
break; |
default: |
// Not a key we are interested in. |
- handled = false; |
- break; |
+ return; |
} |
- if (handled) |
- event->SetHandled(); |
+ event->StopPropagation(); |
} |
void WindowSelector::OnDisplayAdded(const gfx::Display& display) { |