joined_minmax.patch

Minoru Akagi, 2012-11-29 03:46 PM

Download (1.48 KB)

View differences:

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
  }