From 820469f4b1f179348e9a46b27b0c55bcfd466576 Mon Sep 17 00:00:00 2001 From: Marco Hugentobler Date: Mon, 19 Sep 2011 09:39:24 +0200 Subject: [PATCH] Fix for ticket #4283 (composer forgets on/off status of layers) --- src/core/composer/qgscomposermap.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/core/composer/qgscomposermap.cpp b/src/core/composer/qgscomposermap.cpp index 007bf23beee2..81eb0b492ed7 100644 --- a/src/core/composer/qgscomposermap.cpp +++ b/src/core/composer/qgscomposermap.cpp @@ -839,7 +839,17 @@ void QgsComposerMap::syncLayerSet() return; } - QStringList currentLayerSet = mMapRenderer->layerSet(); + //if layer set is fixed, do a lookup in the layer registry to also find the non-visible layers + QStringList currentLayerSet; + if ( mKeepLayerSet ) + { + currentLayerSet = QgsMapLayerRegistry::instance()->mapLayers().uniqueKeys(); + } + else //only consider layers visible in the map + { + currentLayerSet = mMapRenderer->layerSet(); + } + for ( int i = mLayerSet.size() - 1; i >= 0; --i ) { if ( !currentLayerSet.contains( mLayerSet.at( i ) ) )