diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2022-06-23 15:38:21 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2022-06-23 18:24:40 +0200 |
commit | 535cdff8127426ce8accdb6049f90b6b2fd754a2 (patch) | |
tree | aac21d08a2edd1542e65ca751a16cc19f5d30f35 /svx | |
parent | 41e6e40d7280b4ccf373c93718c2c66e15444781 (diff) |
tdf#149655 Crash: "Helplines while moving" crashes debug-build
regression from
commit a447b5b6d1114111c92e5e3e3f3ae83d4c2f3bca
Author: Noel Grandin <noel.grandin@collabora.co.uk>
Date: Mon Jun 13 18:46:45 2022 +0200
loplugin:moveit
calling std::move() on an otl::cow_wrapper apparently leaves it in a
state where calling anything else on it will SIGSEGV.
Change-Id: I00d53a6283f360e3d64c81f5e79075c8ac5a99e8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136341
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'svx')
-rw-r--r-- | svx/source/sdr/overlay/overlaytools.cxx | 66 |
1 files changed, 33 insertions, 33 deletions
diff --git a/svx/source/sdr/overlay/overlaytools.cxx b/svx/source/sdr/overlay/overlaytools.cxx index c669f5220ccd..6e29d9c0d235 100644 --- a/svx/source/sdr/overlay/overlaytools.cxx +++ b/svx/source/sdr/overlay/overlaytools.cxx @@ -529,50 +529,50 @@ sal_uInt32 OverlayStaticRectanglePrimitive::getPrimitive2DID() const if(getViewport().isEmpty()) return; - basegfx::B2DPolygon aLine; // Left lines - aLine.append(basegfx::B2DPoint(getViewport().getMinX(), getRollingRectangle().getMinY())); - aLine.append(basegfx::B2DPoint(getRollingRectangle().getMinX(), getRollingRectangle().getMinY())); - rContainer.push_back(new PolygonMarkerPrimitive2D(std::move(aLine), getRGBColorA(), getRGBColorB(), getDiscreteDashLength())); + basegfx::B2DPolygon aLine1; + aLine1.append(basegfx::B2DPoint(getViewport().getMinX(), getRollingRectangle().getMinY())); + aLine1.append(basegfx::B2DPoint(getRollingRectangle().getMinX(), getRollingRectangle().getMinY())); + rContainer.push_back(new PolygonMarkerPrimitive2D(std::move(aLine1), getRGBColorA(), getRGBColorB(), getDiscreteDashLength())); - aLine.clear(); - aLine.append(basegfx::B2DPoint(getViewport().getMinX(), getRollingRectangle().getMaxY())); - aLine.append(basegfx::B2DPoint(getRollingRectangle().getMinX(), getRollingRectangle().getMaxY())); - rContainer.push_back(new PolygonMarkerPrimitive2D(std::move(aLine), getRGBColorA(), getRGBColorB(), getDiscreteDashLength())); + basegfx::B2DPolygon aLine2; + aLine2.append(basegfx::B2DPoint(getViewport().getMinX(), getRollingRectangle().getMaxY())); + aLine2.append(basegfx::B2DPoint(getRollingRectangle().getMinX(), getRollingRectangle().getMaxY())); + rContainer.push_back(new PolygonMarkerPrimitive2D(std::move(aLine2), getRGBColorA(), getRGBColorB(), getDiscreteDashLength())); // Right lines - aLine.clear(); - aLine.append(basegfx::B2DPoint(getRollingRectangle().getMaxX(), getRollingRectangle().getMinY())); - aLine.append(basegfx::B2DPoint(getViewport().getMaxX(), getRollingRectangle().getMinY())); - rContainer.push_back(new PolygonMarkerPrimitive2D(std::move(aLine), getRGBColorA(), getRGBColorB(), getDiscreteDashLength())); + basegfx::B2DPolygon aLine3; + aLine3.append(basegfx::B2DPoint(getRollingRectangle().getMaxX(), getRollingRectangle().getMinY())); + aLine3.append(basegfx::B2DPoint(getViewport().getMaxX(), getRollingRectangle().getMinY())); + rContainer.push_back(new PolygonMarkerPrimitive2D(std::move(aLine3), getRGBColorA(), getRGBColorB(), getDiscreteDashLength())); - aLine.clear(); - aLine.append(basegfx::B2DPoint(getRollingRectangle().getMaxX(), getRollingRectangle().getMaxY())); - aLine.append(basegfx::B2DPoint(getViewport().getMaxX(), getRollingRectangle().getMaxY())); - rContainer.push_back(new PolygonMarkerPrimitive2D(std::move(aLine), getRGBColorA(), getRGBColorB(), getDiscreteDashLength())); + basegfx::B2DPolygon aLine4; + aLine4.append(basegfx::B2DPoint(getRollingRectangle().getMaxX(), getRollingRectangle().getMaxY())); + aLine4.append(basegfx::B2DPoint(getViewport().getMaxX(), getRollingRectangle().getMaxY())); + rContainer.push_back(new PolygonMarkerPrimitive2D(std::move(aLine4), getRGBColorA(), getRGBColorB(), getDiscreteDashLength())); // Top lines - aLine.clear(); - aLine.append(basegfx::B2DPoint(getRollingRectangle().getMinX(), getViewport().getMinY())); - aLine.append(basegfx::B2DPoint(getRollingRectangle().getMinX(), getRollingRectangle().getMinY())); - rContainer.push_back(new PolygonMarkerPrimitive2D(std::move(aLine), getRGBColorA(), getRGBColorB(), getDiscreteDashLength())); + basegfx::B2DPolygon aLine5; + aLine5.append(basegfx::B2DPoint(getRollingRectangle().getMinX(), getViewport().getMinY())); + aLine5.append(basegfx::B2DPoint(getRollingRectangle().getMinX(), getRollingRectangle().getMinY())); + rContainer.push_back(new PolygonMarkerPrimitive2D(std::move(aLine5), getRGBColorA(), getRGBColorB(), getDiscreteDashLength())); - aLine.clear(); - aLine.append(basegfx::B2DPoint(getRollingRectangle().getMaxX(), getViewport().getMinY())); - aLine.append(basegfx::B2DPoint(getRollingRectangle().getMaxX(), getRollingRectangle().getMinY())); - rContainer.push_back(new PolygonMarkerPrimitive2D(std::move(aLine), getRGBColorA(), getRGBColorB(), getDiscreteDashLength())); + basegfx::B2DPolygon aLine6; + aLine6.append(basegfx::B2DPoint(getRollingRectangle().getMaxX(), getViewport().getMinY())); + aLine6.append(basegfx::B2DPoint(getRollingRectangle().getMaxX(), getRollingRectangle().getMinY())); + rContainer.push_back(new PolygonMarkerPrimitive2D(std::move(aLine6), getRGBColorA(), getRGBColorB(), getDiscreteDashLength())); // Bottom lines - aLine.clear(); - aLine.append(basegfx::B2DPoint(getRollingRectangle().getMinX(), getRollingRectangle().getMaxY())); - aLine.append(basegfx::B2DPoint(getRollingRectangle().getMinX(), getViewport().getMaxY())); - rContainer.push_back(new PolygonMarkerPrimitive2D(std::move(aLine), getRGBColorA(), getRGBColorB(), getDiscreteDashLength())); - - aLine.clear(); - aLine.append(basegfx::B2DPoint(getRollingRectangle().getMaxX(), getRollingRectangle().getMaxY())); - aLine.append(basegfx::B2DPoint(getRollingRectangle().getMaxX(), getViewport().getMaxY())); - rContainer.push_back(new PolygonMarkerPrimitive2D(std::move(aLine), getRGBColorA(), getRGBColorB(), getDiscreteDashLength())); + basegfx::B2DPolygon aLine7; + aLine7.append(basegfx::B2DPoint(getRollingRectangle().getMinX(), getRollingRectangle().getMaxY())); + aLine7.append(basegfx::B2DPoint(getRollingRectangle().getMinX(), getViewport().getMaxY())); + rContainer.push_back(new PolygonMarkerPrimitive2D(std::move(aLine7), getRGBColorA(), getRGBColorB(), getDiscreteDashLength())); + + basegfx::B2DPolygon aLine8; + aLine8.append(basegfx::B2DPoint(getRollingRectangle().getMaxX(), getRollingRectangle().getMaxY())); + aLine8.append(basegfx::B2DPoint(getRollingRectangle().getMaxX(), getViewport().getMaxY())); + rContainer.push_back(new PolygonMarkerPrimitive2D(std::move(aLine8), getRGBColorA(), getRGBColorB(), getDiscreteDashLength())); } |