Skip to content

Commit 51de01b

Browse files
author
mhugent
committedDec 3, 2009
Fix zoom to layer if otf-reprojection is enabled (ticket #2148)
git-svn-id: http://svn.osgeo.org/qgis/trunk/qgis@12318 c8812cc2-4d05-0410-92ff-de0c093fc19c

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed
 

‎src/app/legend/qgslegend.cpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1581,6 +1581,11 @@ void QgsLegend::makeToTopLevelItem()
15811581

15821582
void QgsLegend::legendLayerZoom()
15831583
{
1584+
if(!mMapCanvas)
1585+
{
1586+
return;
1587+
}
1588+
15841589
//find current Layer
15851590
QgsLegendLayer* currentLayer = dynamic_cast<QgsLegendLayer *>( currentItem() );
15861591
if ( !currentLayer )
@@ -1589,6 +1594,16 @@ void QgsLegend::legendLayerZoom()
15891594
QgsMapLayer* theLayer = currentLayer->layer();
15901595
QgsRectangle extent = theLayer->extent();
15911596

1597+
//transform extent if otf-projection is on
1598+
if(mMapCanvas->hasCrsTransformEnabled())
1599+
{
1600+
QgsMapRenderer* renderer = mMapCanvas->mapRenderer();
1601+
if(renderer)
1602+
{
1603+
extent = renderer->layerExtentToOutputExtent(theLayer, extent);
1604+
}
1605+
}
1606+
15921607
// Increase bounding box with 5%, so that layer is a bit inside the borders
15931608
extent.scale( 1.05 );
15941609

0 commit comments

Comments
 (0)
Please sign in to comment.