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 a49cda90a74ed351b5a6c367e8120fa359dbf70c..268b2cb2e9bd66311f843a1982fe8eff8a887935 100644 |
--- a/ui/events/platform/x11/x11_event_source.cc |
+++ b/ui/events/platform/x11/x11_event_source.cc |
@@ -97,6 +97,7 @@ X11EventSource::X11EventSource(X11EventSourceDelegate* delegate, |
: delegate_(delegate), |
display_(display), |
event_timestamp_(CurrentTime), |
+ dispatching_event_(nullptr), |
dummy_initialized_(false), |
continue_stream_(true) { |
DCHECK(!instance_); |
@@ -201,12 +202,14 @@ void X11EventSource::ExtractCookieDataDispatchEvent(XEvent* xevent) { |
have_cookie = true; |
} |
+ dispatching_event_ = xevent; |
event_timestamp_ = ExtractTimeFromXEvent(*xevent); |
delegate_->ProcessXEvent(xevent); |
sadrul
2016/10/07 02:12:51
This can trigger a nested message loop, which mean
Tom (Use chromium acct)
2016/10/07 21:13:18
done: added a stack of events to handle this.
|
PostDispatchEvent(xevent); |
event_timestamp_ = CurrentTime; |
+ dispatching_event_ = nullptr; |
if (have_cookie) |
XFreeEventData(xevent->xgeneric.display, &xevent->xcookie); |