Index: ui/views/controls/menu/menu_event_dispatcher_linux.cc |
diff --git a/ui/views/controls/menu/menu_event_dispatcher_linux.cc b/ui/views/controls/menu/menu_event_dispatcher_linux.cc |
index 51990fd07f00f50abadf05859a6d6c33a67208e2..f61d58b99992e974283741b9696c3661448389ad 100644 |
--- a/ui/views/controls/menu/menu_event_dispatcher_linux.cc |
+++ b/ui/views/controls/menu/menu_event_dispatcher_linux.cc |
@@ -75,6 +75,14 @@ uint32_t MenuEventDispatcher::DispatchEvent(const ui::PlatformEvent& event) { |
should_quit = false; |
should_perform_default = false; |
break; |
+ case ui::ET_TOUCH_RELEASED: |
+ case ui::ET_TOUCH_CANCELLED: |
+ // Don't allow the event copy to clear the native touch id |
+ // mapping, or we'll lose the mapping before the initial event |
+ // has finished being dispatched. |
+ static_cast<ui::TouchEvent*>(ui_event.get()) |
+ ->set_should_remove_native_touch_id_mapping(false); |
+ break; |
default: |
break; |
} |