diff --git a/src/gui/maptools/qgsmaptoolshapeabstract.cpp b/src/gui/maptools/qgsmaptoolshapeabstract.cpp index 205b36fe57b..04fde1d2e6a 100644 --- a/src/gui/maptools/qgsmaptoolshapeabstract.cpp +++ b/src/gui/maptools/qgsmaptoolshapeabstract.cpp @@ -44,6 +44,6 @@ void QgsMapToolShapeAbstract::clean() void QgsMapToolShapeAbstract::undo() { - if ( mPoints.count() > 1 ) + if ( mPoints.count() > 0 ) mPoints.removeLast(); } diff --git a/src/gui/qgsmaptoolcapture.cpp b/src/gui/qgsmaptoolcapture.cpp index 34523a640f7..8bb577436eb 100644 --- a/src/gui/qgsmaptoolcapture.cpp +++ b/src/gui/qgsmaptoolcapture.cpp @@ -984,6 +984,9 @@ void QgsMapToolCapture::deleteTempRubberBand() void QgsMapToolCapture::clean() { stopCapturing(); + if ( mCurrentCaptureTechnique == Shape && mCurrentShapeMapTool ) + mCurrentShapeMapTool->clean(); + clearCurve(); }