diff options
author | Bradley T. Hughes <bradley.hughes@nokia.com> | 2011-09-09 11:07:48 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-09-26 16:05:36 +0200 |
commit | 54255f7c5e7cecc58076c412183ce2d877a34c18 (patch) | |
tree | 29cddf2af89a144f794c86cb24cb1d5eb0db1de1 /src/gui | |
parent | 67fec4a5f5f164a24481921eab57955ce0d607f0 (diff) |
Make QVectorData::shared_null const
Similar to QByteArray and QString, keep the shared_null in shareable
memory and never modify it.
Since QRegion uses the internals of QVector, we need to make sure that
QRegion also never modifies the shared_null.
Change-Id: I809e5873fe414138f97d501e05458b73c04b18fb
Reviewed-on: http://codereview.qt-project.org/4529
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/painting/qregion.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gui/painting/qregion.cpp b/src/gui/painting/qregion.cpp index d3a43c4193..f343fa9b4c 100644 --- a/src/gui/painting/qregion.cpp +++ b/src/gui/painting/qregion.cpp @@ -4268,7 +4268,8 @@ QVector<QRect> QRegion::rects() const if (d->qt_rgn) { d->qt_rgn->vectorize(); // hw: modify the vector size directly to avoid reallocation - d->qt_rgn->rects.d->size = d->qt_rgn->numRects; + if (d->qt_rgn->rects.d != &QVectorData::shared_null) + d->qt_rgn->rects.d->size = d->qt_rgn->numRects; return d->qt_rgn->rects; } else { return QVector<QRect>(); |