diff options
author | Liang Qi <liang.qi@qt.io> | 2018-10-30 09:43:14 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2018-10-30 09:43:14 +0100 |
commit | 502447e15b38d6111c23d608240e0d7afb7c2ad6 (patch) | |
tree | e0c578cc2478518f0738dee396445d35cbd25786 /src/quick/items | |
parent | 708e4f7e626468f53636b7d2ef7c6a99c129751f (diff) | |
parent | 4a886753a75c7c4d66f1fa9cab5a6c5a03240df3 (diff) |
Merge remote-tracking branch 'origin/5.11' into 5.12.0
Conflicts:
src/imports/settings/qqmlsettings.cpp
src/quick/items/qquickwindow.cpp
tools/qmlplugindump/main.cpp
Change-Id: I3e5dae4de25b2da961a572b3a4bd151181d211c9
Diffstat (limited to 'src/quick/items')
-rw-r--r-- | src/quick/items/qquickevents_p_p.h | 2 | ||||
-rw-r--r-- | src/quick/items/qquickwindow.cpp | 8 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/quick/items/qquickevents_p_p.h b/src/quick/items/qquickevents_p_p.h index f3ce04d11e..d1a8bbd901 100644 --- a/src/quick/items/qquickevents_p_p.h +++ b/src/quick/items/qquickevents_p_p.h @@ -450,6 +450,8 @@ protected: Qt::MouseButton m_button = Qt::NoButton; Qt::MouseButtons m_pressedButtons; + friend class QQuickWindowPrivate; + Q_DISABLE_COPY(QQuickPointerEvent) }; diff --git a/src/quick/items/qquickwindow.cpp b/src/quick/items/qquickwindow.cpp index d27ee54c89..4f14eedd39 100644 --- a/src/quick/items/qquickwindow.cpp +++ b/src/quick/items/qquickwindow.cpp @@ -2548,6 +2548,10 @@ bool QQuickWindowPrivate::deliverPressOrReleaseEvent(QQuickPointerEvent *event, } for (QQuickItem *item : targetItems) { + if (!event->m_event) { + qWarning("event went missing during delivery! (nested sendEvent() is not allowed)"); + break; + } hasFiltered.clear(); if (!handlersOnly && sendFilteredPointerEvent(event, item)) { if (event->isAccepted()) { @@ -2562,6 +2566,10 @@ bool QQuickWindowPrivate::deliverPressOrReleaseEvent(QQuickPointerEvent *event, // nor to any item which already had a chance to filter. if (skipDelivery.contains(item)) continue; + if (!event->m_event) { + qWarning("event went missing during delivery! (nested sendEvent() is not allowed)"); + break; + } deliverMatchingPointsToItem(item, event, handlersOnly); if (event->allPointsAccepted()) handlersOnly = true; |