From 7f57472e24a45a9cb56c7742f4c031405262ef98 Mon Sep 17 00:00:00 2001 From: Shawn Rutledge Date: Wed, 3 Oct 2018 17:09:40 +0200 Subject: Warn, don't crash during nested delivery of mouse or touch presses If during delivery of a mouse press, user code calls qApp->sendEvent() with another mouse press, then when delivery of the nested event is finished, we call QQuickPointerMouseEvent::reset(nullptr). Then when delivery of the original mouse press resumes, crashes are possible because most of the code assumes that QQuickPointerEvent::m_event is not null during delivery. Change-Id: Id65b1f2f64351e40d03bcd4f4d16693d616729da Fixes: QTBUG-70898 Reviewed-by: Shawn Rutledge --- src/quick/items/qquickevents_p_p.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/quick/items/qquickevents_p_p.h') diff --git a/src/quick/items/qquickevents_p_p.h b/src/quick/items/qquickevents_p_p.h index 4097845ec9..b2642735f2 100644 --- a/src/quick/items/qquickevents_p_p.h +++ b/src/quick/items/qquickevents_p_p.h @@ -447,6 +447,8 @@ protected: Qt::MouseButton m_button = Qt::NoButton; Qt::MouseButtons m_pressedButtons; + friend class QQuickWindowPrivate; + Q_DISABLE_COPY(QQuickPointerEvent) }; -- cgit v1.2.3