summaryrefslogtreecommitdiffstats
path: root/ui/aura/root_window.cc
diff options
context:
space:
mode:
Diffstat (limited to 'ui/aura/root_window.cc')
-rw-r--r--ui/aura/root_window.cc13
1 files changed, 12 insertions, 1 deletions
diff --git a/ui/aura/root_window.cc b/ui/aura/root_window.cc
index 8e96cba..aba54cb 100644
--- a/ui/aura/root_window.cc
+++ b/ui/aura/root_window.cc
@@ -747,7 +747,18 @@ void RootWindow::OnWindowHidden(Window* invisible, bool destroyed) {
mouse_event_dispatch_target_ = NULL;
if (invisible->Contains(event_dispatch_target_))
event_dispatch_target_ = NULL;
- gesture_recognizer_->FlushTouchQueue(invisible);
+
+ CleanupGestureRecognizerState(invisible);
+}
+
+void RootWindow::CleanupGestureRecognizerState(Window* window) {
+ gesture_recognizer_->FlushTouchQueue(window);
+ Windows windows = window->children();
+ for (Windows::const_iterator iter = windows.begin();
+ iter != windows.end();
+ ++iter) {
+ CleanupGestureRecognizerState(*iter);
+ }
}
void RootWindow::OnWindowAddedToRootWindow(Window* attached) {