diff options
author | Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | 2017-07-05 14:51:13 +0200 |
---|---|---|
committer | Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | 2017-09-18 15:13:53 +0000 |
commit | 6011e8a9eb828d5ce5ffde3d88253a4871693599 (patch) | |
tree | f0030adf6b5cef3357849d06a626411970d21ea6 /src/gui/painting/qregion.cpp | |
parent | 0d409f2d4e51fffebbe65b58265745f41dbd5f98 (diff) |
QRegion: explain why there's an apparently unused variable
The variable is there to work around an aliasing issue.
Since this code is likely coming straight from Qt 2 or 3,
I'm not doing any major modification, just explaining why that
variable is necessary and mark it as unused (so that a static
analyzer that knows about value classes won't complain that
we're creating a QVector without using it).
Change-Id: Ie8777563724ec3c0bf97d8bc24e1b184fe26bd2f
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
Diffstat (limited to 'src/gui/painting/qregion.cpp')
-rw-r--r-- | src/gui/painting/qregion.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/gui/painting/qregion.cpp b/src/gui/painting/qregion.cpp index 3fb6f925b3..ba8defbfe3 100644 --- a/src/gui/painting/qregion.cpp +++ b/src/gui/painting/qregion.cpp @@ -2281,7 +2281,14 @@ static void miRegionOp(QRegionPrivate &dest, dest.vectorize(); - QVector<QRect> oldRects = dest.rects; + /* + * The following calls are going to detach dest.rects. Since dest might be + * aliasing *reg1 and/or *reg2, and we could have active iterators on + * reg1->rects and reg2->rects (if the regions have more than 1 rectangle), + * take a copy of dest.rects to keep those iteractors valid. + */ + const QVector<QRect> destRectsCopy = dest.rects; + Q_UNUSED(destRectsCopy); dest.numRects = 0; |