From 60e91559dddb5d75dc308986b009bc82e7a0080c Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Thu, 14 Jan 2016 12:59:43 +0100 Subject: Docs: add notes about the Qt.labs module MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I65c37f661689bf30e7a9119bb877dce68eeb634c Reviewed-by: Topi Reiniƶ --- src/templates/qquickstackview.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/templates/qquickstackview.cpp') diff --git a/src/templates/qquickstackview.cpp b/src/templates/qquickstackview.cpp index 90ca799f..415e8700 100644 --- a/src/templates/qquickstackview.cpp +++ b/src/templates/qquickstackview.cpp @@ -257,6 +257,8 @@ QT_BEGIN_NAMESPACE } \endqml + \labs + \sa {Customizing StackView}, {Navigation Controls}, {Container Controls} */ -- cgit v1.2.3 From 4d26036772f897c293d8f71d728ed41c720a85e8 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Thu, 21 Jan 2016 10:47:18 +0100 Subject: StackView: fix overly zealous child mouse event filter Change-Id: Ife8ec7e14f940068a809cdf7a715a1790cce3f66 Task-number: QTBUG-50305 Reviewed-by: Nikita Krupenko Reviewed-by: Mitch Curtis --- src/templates/qquickstackview.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'src/templates/qquickstackview.cpp') diff --git a/src/templates/qquickstackview.cpp b/src/templates/qquickstackview.cpp index 415e8700..d5e2aee3 100644 --- a/src/templates/qquickstackview.cpp +++ b/src/templates/qquickstackview.cpp @@ -879,10 +879,18 @@ void QQuickStackView::geometryChanged(const QRectF &newGeometry, const QRectF &o } } -bool QQuickStackView::childMouseEventFilter(QQuickItem *, QEvent *) -{ - // busy should be true if this function gets called - return true; +bool QQuickStackView::childMouseEventFilter(QQuickItem *item, QEvent *event) +{ + // in order to block accidental user interaction while busy/transitioning, + // StackView filters out childrens' mouse events. therefore we block all + // press events. however, since push() may be called from signal handlers + // such as onPressed or onDoubleClicked, we must let the current mouse + // grabber item receive the respective mouse release event to avoid + // breaking its state (QTBUG-50305). + if (event->type() == QEvent::MouseButtonPress) + return true; + QQuickWindow *window = item->window(); + return window && !window->mouseGrabberItem(); } void QQuickStackAttachedPrivate::itemParentChanged(QQuickItem *item, QQuickItem *parent) -- cgit v1.2.3