@@ -260,6 +260,26 @@ bool QgsVectorLayerEditBuffer::commitChanges( QStringList& commitErrors )
260
260
int cap = provider->capabilities ();
261
261
bool success = true ;
262
262
263
+ //
264
+ // update geometries
265
+ //
266
+ if ( !mChangedGeometries .isEmpty () )
267
+ {
268
+ if (( cap & QgsVectorDataProvider::ChangeGeometries ) && provider->changeGeometryValues ( mChangedGeometries ) )
269
+ {
270
+ commitErrors << tr ( " SUCCESS: %n geometries were changed." , " changed geometries count" , mChangedGeometries .size () );
271
+
272
+ emit committedGeometriesChanges ( L->id (), mChangedGeometries );
273
+
274
+ mChangedGeometries .clear ();
275
+ }
276
+ else
277
+ {
278
+ commitErrors << tr ( " ERROR: %n geometries not changed." , " not changed geometries count" , mChangedGeometries .size () );
279
+ success = false ;
280
+ }
281
+ }
282
+
263
283
QgsFields oldFields = L->fields ();
264
284
265
285
//
@@ -502,26 +522,6 @@ bool QgsVectorLayerEditBuffer::commitChanges( QStringList& commitErrors )
502
522
success = false ;
503
523
}
504
524
505
- //
506
- // update geometries
507
- //
508
- if ( success && !mChangedGeometries .isEmpty () )
509
- {
510
- if (( cap & QgsVectorDataProvider::ChangeGeometries ) && provider->changeGeometryValues ( mChangedGeometries ) )
511
- {
512
- commitErrors << tr ( " SUCCESS: %n geometries were changed." , " changed geometries count" , mChangedGeometries .size () );
513
-
514
- emit committedGeometriesChanges ( L->id (), mChangedGeometries );
515
-
516
- mChangedGeometries .clear ();
517
- }
518
- else
519
- {
520
- commitErrors << tr ( " ERROR: %n geometries not changed." , " not changed geometries count" , mChangedGeometries .size () );
521
- success = false ;
522
- }
523
- }
524
-
525
525
if ( !success && provider->hasErrors () )
526
526
{
527
527
commitErrors << tr ( " \n Provider errors:" );
0 commit comments