File tree Expand file tree Collapse file tree 2 files changed +9
-5
lines changed Expand file tree Collapse file tree 2 files changed +9
-5
lines changed Original file line number Diff line number Diff line change @@ -120,9 +120,9 @@ void QgsMapToolMoveFeature::canvasPressEvent( QMouseEvent * e )
120
120
mMovedFeatures = vlayer->selectedFeaturesIds ();
121
121
122
122
mRubberBand = createRubberBand ( vlayer->geometryType () );
123
- for ( int i = 0 ; i < vlayer->selectedFeatureCount (); i++ )
123
+ Q_FOREACH ( const QgsFeature& feat, vlayer->selectedFeatures () )
124
124
{
125
- mRubberBand ->addGeometry ( vlayer-> selectedFeatures ()[i] .geometry (), vlayer );
125
+ mRubberBand ->addGeometry ( feat .geometry (), vlayer );
126
126
}
127
127
}
128
128
Original file line number Diff line number Diff line change @@ -2305,10 +2305,14 @@ QgsFeatureList QgsVectorLayer::selectedFeatures()
2305
2305
if ( geometryType () == QGis::NoGeometry )
2306
2306
req.setFlags ( QgsFeatureRequest::NoGeometry );
2307
2307
2308
- foreach ( QgsFeatureId fid, mSelectedFeatureIds )
2308
+ req.setFilterFids ( mSelectedFeatureIds );
2309
+
2310
+ QgsFeatureIterator it = getFeatures ( req );
2311
+
2312
+ QgsFeature f;
2313
+ while ( it.nextFeature ( f ) )
2309
2314
{
2310
- features.push_back ( QgsFeature () );
2311
- getFeatures ( req.setFilterFid ( fid ) ).nextFeature ( features.back () );
2315
+ features.push_back ( f );
2312
2316
}
2313
2317
2314
2318
return features;
You can’t perform that action at this time.
0 commit comments