Index: ui/events/platform/x11/x11_event_source.cc |
diff --git a/ui/events/platform/x11/x11_event_source.cc b/ui/events/platform/x11/x11_event_source.cc |
index 5101f2703a3bff44f677e1c64db1a2ec09532980..09a040b6209155d929a9caa61427ee3a2eb877ce 100644 |
--- a/ui/events/platform/x11/x11_event_source.cc |
+++ b/ui/events/platform/x11/x11_event_source.cc |
@@ -14,6 +14,7 @@ |
#include "ui/events/event_utils.h" |
#include "ui/events/platform/platform_event_dispatcher.h" |
#include "ui/events/platform/x11/x11_hotplug_event_handler.h" |
+#include "ui/events/x/events_x.h" |
#include "ui/gfx/x/x11_types.h" |
namespace ui { |
@@ -120,14 +121,20 @@ void X11EventSource::BlockUntilWindowMapped(XID window) { |
//////////////////////////////////////////////////////////////////////////////// |
// X11EventSource, private |
-uint32_t X11EventSource::DispatchEvent(XEvent* xevent) { |
+uint32_t X11EventSource::DispatchEvent(base::NativeEvent event) { |
+ XEvent* xevent = static_cast<XEvent*>(event); |
bool have_cookie = false; |
if (xevent->type == GenericEvent && |
XGetEventData(xevent->xgeneric.display, &xevent->xcookie)) { |
have_cookie = true; |
} |
- uint32_t action = PlatformEventSource::DispatchEvent(xevent); |
+ uint32_t action = POST_DISPATCH_STOP_PROPAGATION; |
+#if defined(USE_OZONE) && !defined(USE_X11) |
+ event = TranslateXEventToNativeEvent(xevent); |
+#endif |
+ if (event) |
+ action = PlatformEventSource::DispatchEvent(event); |
if (xevent->type == GenericEvent && |
xevent->xgeneric.evtype == XI_HierarchyChanged) { |
ui::UpdateDeviceList(); |