Skip to content

Commit ed11c57

Browse files
committed
Make sure to refresh canvas when layer's CRS is changed
1 parent 302c604 commit ed11c57

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

src/app/qgisapp.cpp

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6975,30 +6975,30 @@ void QgisApp::setLayerCRS()
69756975

69766976
QgsCoordinateReferenceSystem crs( mySelector.selectedCrsId(), QgsCoordinateReferenceSystem::InternalCrsId );
69776977

6978-
// Turn off rendering to improve speed.
6979-
mMapCanvas->freeze();
6980-
69816978
foreach ( QgsLayerTreeNode* node, mLayerTreeView->selectedNodes() )
69826979
{
69836980
if ( QgsLayerTree::isGroup( node ) )
69846981
{
69856982
foreach ( QgsLayerTreeLayer* child, QgsLayerTree::toGroup( node )->findLayers() )
69866983
{
69876984
if ( child->layer() )
6985+
{
69886986
child->layer()->setCrs( crs );
6987+
child->layer()->clearCacheImage();
6988+
}
69896989
}
69906990
}
69916991
else if ( QgsLayerTree::isLayer( node ) )
69926992
{
69936993
QgsLayerTreeLayer* nodeLayer = QgsLayerTree::toLayer( node );
69946994
if ( nodeLayer->layer() )
6995+
{
69956996
nodeLayer->layer()->setCrs( crs );
6997+
nodeLayer->layer()->clearCacheImage();
6998+
}
69966999
}
69977000
}
69987001

6999-
// Turn on rendering (if it was on previously)
7000-
mMapCanvas->freeze( false );
7001-
70027002
mMapCanvas->refresh();
70037003
}
70047004

@@ -7109,7 +7109,10 @@ void QgisApp::legendGroupSetCRS()
71097109
foreach ( QgsLayerTreeLayer* nodeLayer, currentGroup->findLayers() )
71107110
{
71117111
if ( nodeLayer->layer() )
7112+
{
71127113
nodeLayer->layer()->setCrs( crs );
7114+
nodeLayer->layer()->clearCacheImage();
7115+
}
71137116
}
71147117
}
71157118

0 commit comments

Comments
 (0)