diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2017-11-30 09:43:44 +0100 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2017-12-06 18:30:55 +0000 |
commit | 03026973700f1fcdff602dffa3d94b04912acd44 (patch) | |
tree | ab3c22ea63e11e01573605f9a879edeffb160930 /src/gui/painting/qregion.cpp | |
parent | 85d8975bc999d65d04db9027f66c030574a5caf0 (diff) |
QtGui: port away from QRegion::rects()
Use begin()/end()/rectCount() instead, which don't require QRegionPrivate
::vectorize() calls.
In QPaintEngineEx::clip(), the rectCount() == 1 case called clip(QRect), but
forgot to return, causing another clip(QVectorPath) call with the same
arguments. Fixed.
Change-Id: Ife33112fc8006ed4bdff6409e2b8465ce7acb9d1
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/gui/painting/qregion.cpp')
-rw-r--r-- | src/gui/painting/qregion.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/gui/painting/qregion.cpp b/src/gui/painting/qregion.cpp index 1b8aae16e1..dcff6a1d72 100644 --- a/src/gui/painting/qregion.cpp +++ b/src/gui/painting/qregion.cpp @@ -447,19 +447,20 @@ QDebug operator<<(QDebug s, const QRegion &r) } else if (r.isEmpty()) { s << "empty"; } else { - const QVector<QRect> rects = r.rects(); - const int count = rects.size(); + const int count = r.rectCount(); if (count > 1) s << "size=" << count << ", bounds=("; QtDebugUtils::formatQRect(s, r.boundingRect()); if (count > 1) { s << ") - ["; - for (int i = 0; i < count; ++i) { - if (i) + bool first = true; + for (const QRect &rect : r) { + if (!first) s << ", "; s << '('; - QtDebugUtils::formatQRect(s, rects.at(i)); + QtDebugUtils::formatQRect(s, rect); s << ')'; + first = false; } s << ']'; } |