File tree 1 file changed +14
-2
lines changed
1 file changed +14
-2
lines changed Original file line number Diff line number Diff line change @@ -200,14 +200,26 @@ void QgsVisibilityPresets::applyPresetCheckedLegendNodesToLayer( const QString&
200
200
if ( !mPresets .contains ( name ) )
201
201
return ;
202
202
203
- QgsVectorLayer* vlayer = qobject_cast<QgsVectorLayer*>( QgsMapLayerRegistry::instance ()->mapLayer ( layerID ) );
203
+ QgsMapLayer* layer = QgsMapLayerRegistry::instance ()->mapLayer ( layerID );
204
+ if ( !layer )
205
+ return ;
206
+
207
+ const PresetRecord& rec = mPresets [name];
208
+
209
+ if ( rec.mPerLayerCurrentStyle .contains ( layerID ) )
210
+ {
211
+ // apply desired style first
212
+ if ( layer->styleManager () )
213
+ layer->styleManager ()->setCurrentStyle ( rec.mPerLayerCurrentStyle [layerID] );
214
+ }
215
+
216
+ QgsVectorLayer* vlayer = qobject_cast<QgsVectorLayer*>( layer );
204
217
if ( !vlayer || !vlayer->rendererV2 () )
205
218
return ;
206
219
207
220
if ( !vlayer->rendererV2 ()->legendSymbolItemsCheckable () )
208
221
return ; // no need to do anything
209
222
210
- const PresetRecord& rec = mPresets [name];
211
223
bool someNodesUnchecked = rec.mPerLayerCheckedLegendSymbols .contains ( layerID );
212
224
213
225
foreach ( const QgsLegendSymbolItemV2& item, vlayer->rendererV2 ()->legendSymbolItemsV2 () )
You can’t perform that action at this time.
0 commit comments