Add join field to provider request also when requesting a subset of attributes

Fixes #8757
This commit is contained in:
Matthias Kuhn 2013-10-10 11:46:43 +02:00
parent b2ad0a9bb9
commit 5e14fea1b8

View File

@ -25,8 +25,6 @@ QgsVectorLayerFeatureIterator::QgsVectorLayerFeatureIterator( QgsVectorLayer* la
{ {
QgsVectorLayerJoinBuffer* joinBuffer = L->mJoinBuffer; QgsVectorLayerJoinBuffer* joinBuffer = L->mJoinBuffer;
// by default provider's request is the same
mProviderRequest = mRequest;
mChangedFeaturesRequest = mRequest; mChangedFeaturesRequest = mRequest;
if ( L->editBuffer() ) if ( L->editBuffer() )
@ -44,6 +42,9 @@ QgsVectorLayerFeatureIterator::QgsVectorLayerFeatureIterator( QgsVectorLayer* la
if ( joinBuffer->containsJoins() ) if ( joinBuffer->containsJoins() )
prepareJoins(); prepareJoins();
// by default provider's request is the same
mProviderRequest = mRequest;
if ( mProviderRequest.flags() & QgsFeatureRequest::SubsetOfAttributes ) if ( mProviderRequest.flags() & QgsFeatureRequest::SubsetOfAttributes )
{ {
// prepare list of attributes to match provider fields // prepare list of attributes to match provider fields