diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2017-12-07 09:45:48 +0100 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2017-12-08 14:35:40 +0000 |
commit | cd56e843cc53938111879c21570eaf8225719743 (patch) | |
tree | 258ed91bad361447f58653a54b5f901187f60573 /src/plugins | |
parent | 87ae689ed6f8b57265bce341207db9bcc8138ab9 (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.cpp | 5 |
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; |