joined_minmax.patch
src/core/qgsvectorlayer.cpp | ||
---|---|---|
5566 | 5566 |
} |
5567 | 5567 |
else // a joined field? |
5568 | 5568 |
{ |
5569 |
int indexOffset; //offset between layer index and joined provider index |
|
5569 |
int indexOffset = 0; //offset between layer index and joined provider index
|
|
5570 | 5570 |
const QgsVectorJoinInfo* join = mJoinBuffer->joinForFieldIndex( index, maxProviderIndex, indexOffset ); |
5571 | 5571 |
if ( join ) |
5572 | 5572 |
{ |
5573 | 5573 |
QgsVectorLayer* vl = dynamic_cast<QgsVectorLayer*>( QgsMapLayerRegistry::instance()->mapLayer( join->joinLayerId ) ); |
5574 | 5574 |
if ( vl ) |
5575 | 5575 |
{ |
5576 |
return vl->minimumValue( index ); |
|
5576 |
return vl->minimumValue( index - indexOffset );
|
|
5577 | 5577 |
} |
5578 | 5578 |
} |
5579 | 5579 |
} |
... | ... | |
5620 | 5620 |
} |
5621 | 5621 |
else // a joined field? |
5622 | 5622 |
{ |
5623 |
int indexOffset; //offset between layer index and joined provider index |
|
5623 |
int indexOffset = 0; //offset between layer index and joined provider index
|
|
5624 | 5624 |
const QgsVectorJoinInfo* join = mJoinBuffer->joinForFieldIndex( index, maxProviderIndex, indexOffset ); |
5625 | 5625 |
if ( join ) |
5626 | 5626 |
{ |
5627 | 5627 |
QgsVectorLayer* vl = dynamic_cast<QgsVectorLayer*>( QgsMapLayerRegistry::instance()->mapLayer( join->joinLayerId ) ); |
5628 | 5628 |
if ( vl ) |
5629 | 5629 |
{ |
5630 |
return vl->maximumValue( index ); |
|
5630 |
return vl->maximumValue( index - indexOffset );
|
|
5631 | 5631 |
} |
5632 | 5632 |
} |
5633 | 5633 |
} |