diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2015-12-16 01:48:24 +0100 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2015-12-18 08:22:42 +0000 |
commit | 8b1eb5f4202fb4120a303cd2183bb96f212c5a32 (patch) | |
tree | a7434c7e456d4ec3f13d83021fc644c713fb0f97 /src/widgets/util/qflickgesture.cpp | |
parent | 3fc1002489d5861d4f7cc2e1e8800881d6593c9d (diff) |
QFlickGestureRecognizer: hoist a constant subexpression out of a for loop
It's a virtual function call, followed by another out-of-line
function, so the compiler cannot hoist the expression out of
the loop itself.
But we can, so do it.
Change-Id: Icffa6fa9a667d566b0829a18fea7128625e85920
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Diffstat (limited to 'src/widgets/util/qflickgesture.cpp')
-rw-r--r-- | src/widgets/util/qflickgesture.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/widgets/util/qflickgesture.cpp b/src/widgets/util/qflickgesture.cpp index b240902ced..7a195081ce 100644 --- a/src/widgets/util/qflickgesture.cpp +++ b/src/widgets/util/qflickgesture.cpp @@ -584,8 +584,9 @@ QGestureRecognizer::Result QFlickGestureRecognizer::recognize(QGesture *state, #ifndef QT_NO_GRAPHICSVIEW } else if (QGraphicsObject *go = qobject_cast<QGraphicsObject *>(as->target())) { 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 |