diff --git a/src/providers/ogr/qgsogrprovider.cpp b/src/providers/ogr/qgsogrprovider.cpp index 306362eff5ac..fe6850893fec 100644 --- a/src/providers/ogr/qgsogrprovider.cpp +++ b/src/providers/ogr/qgsogrprovider.cpp @@ -626,9 +626,6 @@ bool QgsOgrProvider::nextFeature( QgsFeature& feature ) OGRFeatureH fet; QgsRectangle selectionRect; - setRelevantFields( mFetchGeom || mUseIntersect || !mFetchRect.isEmpty(), - mAttributesToFetch ); - while (( fet = OGR_L_GetNextFeature( ogrLayer ) ) ) { // skip features without geometry @@ -727,6 +724,9 @@ void QgsOgrProvider::select( QgsAttributeList fetchAttributes, QgsRectangle rect mFetchGeom = fetchGeometry; mFetchRect = rect; + setRelevantFields( mFetchGeom || mUseIntersect || !mFetchRect.isEmpty(), + mAttributesToFetch ); + // spatial query to select features if ( rect.isEmpty() ) {