summaryrefslogtreecommitdiffstats
path: root/src/gui
diff options
context:
space:
mode:
authorBradley T. Hughes <bradley.hughes@nokia.com>2011-09-09 11:07:48 +0200
committerQt by Nokia <qt-info@nokia.com>2011-09-26 16:05:36 +0200
commit54255f7c5e7cecc58076c412183ce2d877a34c18 (patch)
tree29cddf2af89a144f794c86cb24cb1d5eb0db1de1 /src/gui
parent67fec4a5f5f164a24481921eab57955ce0d607f0 (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.cpp3
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>();