From 54255f7c5e7cecc58076c412183ce2d877a34c18 Mon Sep 17 00:00:00 2001 From: "Bradley T. Hughes" Date: Fri, 9 Sep 2011 11:07:48 +0200 Subject: 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 Reviewed-by: Lars Knoll --- src/gui/painting/qregion.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/gui/painting') 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 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(); -- cgit v1.2.3