Index: ui/views/widget/root_view.cc |
diff --git a/ui/views/widget/root_view.cc b/ui/views/widget/root_view.cc |
index 5e703b93faa104d643840b7a211e0c8ee36eaa8b..a1f0813aa3f58a13aa4e14b858836e0b73928a4b 100644 |
--- a/ui/views/widget/root_view.cc |
+++ b/ui/views/widget/root_view.cc |
@@ -261,10 +261,12 @@ void RootView::OnEventProcessingStarted(ui::Event* event) { |
return; |
} |
- // Do not process ui::ET_GESTURE_END events which do not correspond to the |
- // removal of the final touch point. |
+ // Do not process ui::ET_GESTURE_END events if they do not correspond to the |
+ // removal of the final touch point or if no gesture handler has already |
+ // been set. |
if (gesture_event->type() == ui::ET_GESTURE_END && |
- gesture_event->details().touch_points() > 1) { |
+ (gesture_event->details().touch_points() > 1 || |
+ !gesture_handler_)) { |
event->SetHandled(); |
return; |
} |