Skip to content

Commit ffd8db9

Browse files
author
jef
committed
fix #2281
git-svn-id: http://svn.osgeo.org/qgis/trunk/qgis@12455 c8812cc2-4d05-0410-92ff-de0c093fc19c
1 parent 669268f commit ffd8db9

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

src/app/qgsmaptooladdisland.cpp

+5-2
Original file line numberDiff line numberDiff line change
@@ -104,9 +104,8 @@ void QgsMapToolAddIsland::canvasReleaseEvent( QMouseEvent * e )
104104

105105
//close polygon
106106
mCaptureList.push_back( *mCaptureList.begin() );
107-
vlayer->beginEditCommand( tr( "Island added" ) );
107+
vlayer->beginEditCommand( tr( "Part added" ) );
108108
int errorCode = vlayer->addIsland( mCaptureList );
109-
vlayer->endEditCommand();
110109
QString errorMessage;
111110

112111
if ( errorCode != 0 )
@@ -136,6 +135,8 @@ void QgsMapToolAddIsland::canvasReleaseEvent( QMouseEvent * e )
136135
errorMessage = tr( "Selected geometry could not be found" );
137136
}
138137
QMessageBox::critical( 0, tr( "Error, could not add island" ), errorMessage );
138+
139+
vlayer->destroyEditCommand();
139140
}
140141
else
141142
{
@@ -145,6 +146,8 @@ void QgsMapToolAddIsland::canvasReleaseEvent( QMouseEvent * e )
145146
{
146147
addTopologicalPoints( mCaptureList );
147148
}
149+
150+
vlayer->endEditCommand();
148151
}
149152

150153
mCaptureList.clear();

src/app/qgsmaptooladdring.cpp

+5-1
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,6 @@ void QgsMapToolAddRing::canvasReleaseEvent( QMouseEvent * e )
8383

8484
vlayer->beginEditCommand( tr( "Ring added" ) );
8585
int addRingReturnCode = vlayer->addRing( mCaptureList );
86-
vlayer->endEditCommand();
8786
if ( addRingReturnCode != 0 )
8887
{
8988
QString errorMessage;
@@ -113,6 +112,11 @@ void QgsMapToolAddRing::canvasReleaseEvent( QMouseEvent * e )
113112
errorMessage = tr( "An unknown error occured" );
114113
}
115114
QMessageBox::critical( 0, tr( "Error, could not add ring" ), errorMessage );
115+
vlayer->destroyEditCommand();
116+
}
117+
else
118+
{
119+
vlayer->endEditCommand();
116120
}
117121
mCaptureList.clear();
118122
mCanvas->refresh();

0 commit comments

Comments
 (0)