diff options
author | Jan Arve Saether <jan-arve.saether@qt.io> | 2017-05-08 11:25:10 +0200 |
---|---|---|
committer | Jani Heikkinen <jani.heikkinen@qt.io> | 2017-05-10 11:31:56 +0000 |
commit | e0c30279ec1fad88346ed3fb483bc3c672fdd01b (patch) | |
tree | b4100688b65b66c83249a11f212ebff8c4a56409 /src/quick/items/qquickwindow_p.h | |
parent | 802a5be531a9f2b1396f4ea4715c9a1dc593f778 (diff) |
Move pointerEvent instance to QQuickWindow
With two or more windows, if events are being delivered to each, the
grabbers can be different in each. We need unique instances of the
QQuickPointerEvent objects for each window to avoid losing the grab state in
the parent window while delivering a synthesized event to a subwindow, for
example.
Change-Id: I51da1212d573853969e32ad78f5b219d979a8a5c
Task-number: QTBUG-57253
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Diffstat (limited to 'src/quick/items/qquickwindow_p.h')
-rw-r--r-- | src/quick/items/qquickwindow_p.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/quick/items/qquickwindow_p.h b/src/quick/items/qquickwindow_p.h index be915903c6..b3ff5a2b35 100644 --- a/src/quick/items/qquickwindow_p.h +++ b/src/quick/items/qquickwindow_p.h @@ -162,6 +162,10 @@ public: void flushFrameSynchronousEvents(); void deliverDelayedTouchEvent(); + // the device-specific event instances which are reused during event delivery + mutable QVector<QQuickPointerEvent *> pointerEventInstances; + QQuickPointerEvent *pointerEventInstance(QQuickPointerDevice *device) const; + // delivery of pointer events: QQuickPointerEvent *pointerEventInstance(QEvent *ev) const; void deliverPointerEvent(QQuickPointerEvent *); |