summaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2017-12-07 09:45:48 +0100
committerMarc Mutz <marc.mutz@kdab.com>2017-12-08 14:35:40 +0000
commitcd56e843cc53938111879c21570eaf8225719743 (patch)
tree258ed91bad361447f58653a54b5f901187f60573 /src/plugins
parent87ae689ed6f8b57265bce341207db9bcc8138ab9 (diff)
Android: port away from QRegion::rects()
Use being()/end() instead. The region of whose rects() we iterate here is modified in the loop body, so take a copy of the rectangles. Since QVector is still missing a range constructor, use std::vector. This does not cause extra copies, since the QVector inside QRegion would detach anyway, when the QRegion is modified inside the loop. Change-Id: Ib973e825b55d9c9568936cb80180858163d87379 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/platforms/android/qandroidplatformscreen.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/plugins/platforms/android/qandroidplatformscreen.cpp b/src/plugins/platforms/android/qandroidplatformscreen.cpp
index 3a79e32abe..7dc8bb8080 100644
--- a/src/plugins/platforms/android/qandroidplatformscreen.cpp
+++ b/src/plugins/platforms/android/qandroidplatformscreen.cpp
@@ -59,6 +59,8 @@
#include <QtGui/QWindow>
#include <QtGui/private/qwindow_p.h>
+#include <vector>
+
QT_BEGIN_NAMESPACE
#ifdef QANDROIDPLATFORMSCREEN_DEBUG
@@ -376,8 +378,7 @@ void QAndroidPlatformScreen::doRedraw()
|| !window->isRaster())
continue;
- const QVector<QRect> visibleRects = visibleRegion.rects();
- for (const QRect &rect : visibleRects) {
+ for (const QRect &rect : std::vector<QRect>(visibleRegion.begin(), visibleRegion.end())) {
QRect targetRect = window->geometry();
targetRect &= rect;