summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gui/painting/qregion.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/gui/painting/qregion.cpp b/src/gui/painting/qregion.cpp
index d13389e602..357380e2d8 100644
--- a/src/gui/painting/qregion.cpp
+++ b/src/gui/painting/qregion.cpp
@@ -4206,9 +4206,8 @@ QVector<QRect> QRegion::rects() const
{
if (d->qt_rgn) {
d->qt_rgn->vectorize();
- // hw: modify the vector size directly to avoid reallocation
- if (d->qt_rgn->rects.d != QVector<QRect>::Data::sharedNull())
- d->qt_rgn->rects.d->size = d->qt_rgn->numRects;
+ d->qt_rgn->rects.reserve(d->qt_rgn->numRects);
+ d->qt_rgn->rects.resize(d->qt_rgn->numRects);
return d->qt_rgn->rects;
} else {
return QVector<QRect>();