Skip to content

Commit

Permalink
use previous renderer if possible, instead of last applied renderer
Browse files Browse the repository at this point in the history
  • Loading branch information
leyan committed Sep 9, 2014
1 parent 45dfd53 commit 4c51956
Showing 1 changed file with 12 additions and 1 deletion.
13 changes: 12 additions & 1 deletion src/gui/symbology-ng/qgsrendererv2propertiesdialog.cpp
Expand Up @@ -144,6 +144,17 @@ void QgsRendererV2PropertiesDialog::rendererChanged()


QString rendererName = cboRenderers->itemData( cboRenderers->currentIndex() ).toString(); QString rendererName = cboRenderers->itemData( cboRenderers->currentIndex() ).toString();


//Retrieve the previous renderer: from the old active widget if possible, otherwise from the layer
QgsFeatureRendererV2* oldRenderer;
if ( mActiveWidget )
{
oldRenderer = mActiveWidget->renderer()->clone();
}
else
{
oldRenderer = mLayer->rendererV2()->clone();
}

// get rid of old active widget (if any) // get rid of old active widget (if any)
if ( mActiveWidget ) if ( mActiveWidget )
{ {
Expand All @@ -156,7 +167,7 @@ void QgsRendererV2PropertiesDialog::rendererChanged()
QgsRendererV2Widget* w = NULL; QgsRendererV2Widget* w = NULL;
QgsRendererV2AbstractMetadata* m = QgsRendererV2Registry::instance()->rendererMetadata( rendererName ); QgsRendererV2AbstractMetadata* m = QgsRendererV2Registry::instance()->rendererMetadata( rendererName );
if ( m != NULL ) if ( m != NULL )
w = m->createRendererWidget( mLayer, mStyle, mLayer->rendererV2()->clone() ); w = m->createRendererWidget( mLayer, mStyle, oldRenderer );


if ( w != NULL ) if ( w != NULL )
{ {
Expand Down

0 comments on commit 4c51956

Please sign in to comment.