From 8b1eb5f4202fb4120a303cd2183bb96f212c5a32 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Wed, 16 Dec 2015 01:48:24 +0100 Subject: [PATCH] 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 --- src/widgets/util/qflickgesture.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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(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