@@ -233,10 +233,13 @@ int QgsVectorLayerEditUtils::splitFeatures( const QList<QgsPoint>& splitLine, bo
233
233
else
234
234
{
235
235
// If we have a single point, we still create a non-null box
236
- bBox.setXMinimum ( bBox.xMinimum () - 1 );
237
- bBox.setXMaximum ( bBox.xMaximum () + 1 );
238
- bBox.setYMinimum ( bBox.yMinimum () - 1 );
239
- bBox.setYMaximum ( bBox.yMaximum () + 1 );
236
+ double bufferDistance = 0.000001 ;
237
+ if ( L->crs ().geographicFlag () )
238
+ bufferDistance = 0.00000001 ;
239
+ bBox.setXMinimum ( bBox.xMinimum () - bufferDistance );
240
+ bBox.setXMaximum ( bBox.xMaximum () + bufferDistance );
241
+ bBox.setYMinimum ( bBox.yMinimum () - bufferDistance );
242
+ bBox.setYMaximum ( bBox.yMaximum () + bufferDistance );
240
243
}
241
244
}
242
245
@@ -367,10 +370,13 @@ int QgsVectorLayerEditUtils::splitParts( const QList<QgsPoint>& splitLine, bool
367
370
else
368
371
{
369
372
// If we have a single point, we still create a non-null box
370
- bBox.setXMinimum ( bBox.xMinimum () - 1 );
371
- bBox.setXMaximum ( bBox.xMaximum () + 1 );
372
- bBox.setYMinimum ( bBox.yMinimum () - 1 );
373
- bBox.setYMaximum ( bBox.yMaximum () + 1 );
373
+ double bufferDistance = 0.000001 ;
374
+ if ( L->crs ().geographicFlag () )
375
+ bufferDistance = 0.00000001 ;
376
+ bBox.setXMinimum ( bBox.xMinimum () - bufferDistance );
377
+ bBox.setXMaximum ( bBox.xMaximum () + bufferDistance );
378
+ bBox.setYMinimum ( bBox.yMinimum () - bufferDistance );
379
+ bBox.setYMaximum ( bBox.yMaximum () + bufferDistance );
374
380
}
375
381
}
376
382
0 commit comments