Skip to content

Commit 37d01af

Browse files
author
wonder
committed
Destroy active undo command if the vertex can't be deleted
git-svn-id: http://svn.osgeo.org/qgis/trunk@11145 c8812cc2-4d05-0410-92ff-de0c093fc19c
1 parent 7ecd98b commit 37d01af

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

src/app/qgsmaptooldeletevertex.cpp

+11-2
Original file line numberDiff line numberDiff line change
@@ -76,15 +76,24 @@ void QgsMapToolDeleteVertex::canvasReleaseEvent( QMouseEvent * e )
7676
vlayer = dynamic_cast<QgsVectorLayer*>( currentLayer );
7777
}
7878

79+
bool success = true;
7980
if ( vlayer && mRecentSnappingResults.size() > 0 )
8081
{
8182
QList<QgsSnappingResult>::iterator sr_it = mRecentSnappingResults.begin();
8283
vlayer->beginEditCommand( tr( "Vertex deleted" ) );
8384
for ( ; sr_it != mRecentSnappingResults.end(); ++sr_it )
8485
{
85-
vlayer->deleteVertex( sr_it->snappedAtGeometry, sr_it->snappedVertexNr );
86+
if (!vlayer->deleteVertex( sr_it->snappedAtGeometry, sr_it->snappedVertexNr ))
87+
{
88+
success = false;
89+
vlayer->destroyEditCommand();
90+
break;
91+
}
92+
}
93+
if (success)
94+
{
95+
vlayer->endEditCommand();
8696
}
87-
vlayer->endEditCommand();
8897
}
8998

9099
mCanvas->refresh();

0 commit comments

Comments
 (0)