diff options
Diffstat (limited to 'src/widgets/util/qflickgesture.cpp')
-rw-r--r-- | src/widgets/util/qflickgesture.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/widgets/util/qflickgesture.cpp b/src/widgets/util/qflickgesture.cpp index c7e0861a0f..7a195081ce 100644 --- a/src/widgets/util/qflickgesture.cpp +++ b/src/widgets/util/qflickgesture.cpp @@ -40,6 +40,7 @@ #include "qgraphicssceneevent.h" #include "qgraphicsview.h" #include "qscroller.h" +#include <QtGui/qtouchdevice.h> #include "private/qapplication_p.h" #include "private/qevent_p.h" #include "private/qflickgesture_p.h" @@ -582,9 +583,10 @@ QGestureRecognizer::Result QFlickGestureRecognizer::recognize(QGesture *state, scrollerRegion = QRect(w->mapToGlobal(QPoint(0, 0)), w->size()); #ifndef QT_NO_GRAPHICSVIEW } else if (QGraphicsObject *go = qobject_cast<QGraphicsObject *>(as->target())) { - if (go->scene() && !go->scene()->views().isEmpty()) { + if (go->scene()) { + const auto goBoundingRectMappedToScene = go->mapToScene(go->boundingRect()); foreach (QGraphicsView *gv, go->scene()->views()) - scrollerRegion |= gv->mapFromScene(go->mapToScene(go->boundingRect())) + scrollerRegion |= gv->mapFromScene(goBoundingRectMappedToScene) .translated(gv->mapToGlobal(QPoint(0, 0))); } #endif |