diff options
-rw-r--r-- | src/gui/painting/qregion.cpp | 5 |
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>(); |