@@ -202,19 +202,20 @@ void QgsRubberBand::setToGeometry( QgsGeometry* geom, QgsVectorLayer* layer )
202
202
for ( int i = 0 ; i < mpt.size (); ++i )
203
203
{
204
204
QgsPoint pt = mpt[i];
205
+ mPoints .push_back ( QList<QgsPoint>() );
205
206
if ( layer )
206
207
{
207
- addPoint ( mr->layerToMapCoordinates ( layer, QgsPoint ( pt.x () - d, pt.y () - d ) ), false );
208
- addPoint ( mr->layerToMapCoordinates ( layer, QgsPoint ( pt.x () + d, pt.y () - d ) ), false );
209
- addPoint ( mr->layerToMapCoordinates ( layer, QgsPoint ( pt.x () + d, pt.y () + d ) ), false );
210
- addPoint ( mr->layerToMapCoordinates ( layer, QgsPoint ( pt.x () - d, pt.y () + d ) ), false );
208
+ addPoint ( mr->layerToMapCoordinates ( layer, QgsPoint ( pt.x () - d, pt.y () - d ) ), false , i );
209
+ addPoint ( mr->layerToMapCoordinates ( layer, QgsPoint ( pt.x () + d, pt.y () - d ) ), false , i );
210
+ addPoint ( mr->layerToMapCoordinates ( layer, QgsPoint ( pt.x () + d, pt.y () + d ) ), false , i );
211
+ addPoint ( mr->layerToMapCoordinates ( layer, QgsPoint ( pt.x () - d, pt.y () + d ) ), false , i );
211
212
}
212
213
else
213
214
{
214
- addPoint ( QgsPoint ( pt.x () - d, pt.y () - d ), false );
215
- addPoint ( QgsPoint ( pt.x () + d, pt.y () - d ), false );
216
- addPoint ( QgsPoint ( pt.x () + d, pt.y () + d ), false );
217
- addPoint ( QgsPoint ( pt.x () - d, pt.y () + d ), false );
215
+ addPoint ( QgsPoint ( pt.x () - d, pt.y () - d ), false , i );
216
+ addPoint ( QgsPoint ( pt.x () + d, pt.y () - d ), false , i );
217
+ addPoint ( QgsPoint ( pt.x () + d, pt.y () + d ), false , i );
218
+ addPoint ( QgsPoint ( pt.x () - d, pt.y () + d ), false , i );
218
219
}
219
220
}
220
221
}
@@ -248,8 +249,7 @@ void QgsRubberBand::setToGeometry( QgsGeometry* geom, QgsVectorLayer* layer )
248
249
QgsMultiPolyline mline = geom->asMultiPolyline ();
249
250
for ( int i = 0 ; i < mline.size (); ++i )
250
251
{
251
- QList<QgsPoint> newList;
252
- mPoints .push_back ( newList );
252
+ mPoints .push_back ( QList<QgsPoint>() );
253
253
QgsPolyline line = mline[i];
254
254
for ( int j = 0 ; j < line.size (); ++j )
255
255
{
@@ -295,8 +295,7 @@ void QgsRubberBand::setToGeometry( QgsGeometry* geom, QgsVectorLayer* layer )
295
295
QgsMultiPolygon multipoly = geom->asMultiPolygon ();
296
296
for ( int i = 0 ; i < multipoly.size (); ++i )
297
297
{
298
- QList<QgsPoint> newList;
299
- mPoints .push_back ( newList );
298
+ mPoints .push_back ( QList<QgsPoint>() );
300
299
QgsPolygon poly = multipoly[i];
301
300
QgsPolyline line = poly[0 ];
302
301
for ( int j = 0 ; j < line.count (); ++j )
0 commit comments