diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2017-01-26 16:44:55 +0100 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2017-02-08 08:01:34 +0000 |
commit | 6cfeabe92db25a10812a657f7f4fdadfb505204d (patch) | |
tree | 32956de018fa184a0547bc04593b750bc2ab55cf /src/quick/items/qquickflickable.cpp | |
parent | ce15c3af57858b9b8b0621398121691b20c6f638 (diff) |
Flickable: handle child mouse ungrab when hidden or disabled
If Flickable got hidden while a child had mouse grab, it ignored the
mouse ungrab event of the child mouse grabber, and got therefore stuck
in pressed state. Consequently, item view transitions were not executed
since the item view though it was being pressed.
Task-number: QTBUG-58453
Change-Id: I76f9f3190c3a95a2fafdce036d69ea1dc8127434
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Diffstat (limited to 'src/quick/items/qquickflickable.cpp')
-rw-r--r-- | src/quick/items/qquickflickable.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/quick/items/qquickflickable.cpp b/src/quick/items/qquickflickable.cpp index 1e778306e0..537367b3a3 100644 --- a/src/quick/items/qquickflickable.cpp +++ b/src/quick/items/qquickflickable.cpp @@ -2307,8 +2307,11 @@ bool QQuickFlickable::filterMouseEvent(QQuickItem *receiver, QMouseEvent *event) bool QQuickFlickable::childMouseEventFilter(QQuickItem *i, QEvent *e) { Q_D(QQuickFlickable); - if (!isVisible() || !isEnabled() || !isInteractive()) + if (!isVisible() || !isEnabled() || !isInteractive()) { + d->cancelInteraction(); return QQuickItem::childMouseEventFilter(i, e); + } + switch (e->type()) { case QEvent::MouseButtonPress: case QEvent::MouseMove: |