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 )
120120 mMovedFeatures = vlayer->selectedFeaturesIds ();
121121
122122 mRubberBand = createRubberBand ( vlayer->geometryType () );
123- for ( int i = 0 ; i < vlayer->selectedFeatureCount (); i++ )
123+ Q_FOREACH ( const QgsFeature& feat, vlayer->selectedFeatures () )
124124 {
125- mRubberBand ->addGeometry ( vlayer-> selectedFeatures ()[i] .geometry (), vlayer );
125+ mRubberBand ->addGeometry ( feat .geometry (), vlayer );
126126 }
127127 }
128128
Original file line number Diff line number Diff line change @@ -2305,10 +2305,14 @@ QgsFeatureList QgsVectorLayer::selectedFeatures()
23052305 if ( geometryType () == QGis::NoGeometry )
23062306 req.setFlags ( QgsFeatureRequest::NoGeometry );
23072307
2308- foreach ( QgsFeatureId fid, mSelectedFeatureIds )
2308+ req.setFilterFids ( mSelectedFeatureIds );
2309+
2310+ QgsFeatureIterator it = getFeatures ( req );
2311+
2312+ QgsFeature f;
2313+ while ( it.nextFeature ( f ) )
23092314 {
2310- features.push_back ( QgsFeature () );
2311- getFeatures ( req.setFilterFid ( fid ) ).nextFeature ( features.back () );
2315+ features.push_back ( f );
23122316 }
23132317
23142318 return features;
You can’t perform that action at this time.
0 commit comments