Skip to content

Commit 84b1577

Browse files
author
Hugo Mercier
committed
Mask renderer: reuse existing renderer as embedded
1 parent 3ec7337 commit 84b1577

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

src/gui/symbology-ng/qgsmaskrendererv2widget.cpp

+10-2
Original file line numberDiff line numberDiff line change
@@ -52,13 +52,21 @@ QgsMaskRendererV2Widget::QgsMaskRendererV2Widget( QgsVectorLayer* layer, QgsStyl
5252

5353
// try to recognize the previous renderer
5454
// (null renderer means "no previous renderer")
55-
if ( !renderer || renderer->type() != "maskRenderer" )
55+
if ( !renderer )
5656
{
57+
// a new renderer
5758
mRenderer.reset( new QgsMaskRendererV2() );
5859
}
60+
else if ( renderer && renderer->type() != "maskRenderer" )
61+
{
62+
// an existing renderer, but not a mask renderer
63+
// create a mask renderer, with the existing renderer embedded
64+
mRenderer.reset( new QgsMaskRendererV2( renderer ) );
65+
}
5966
else
6067
{
61-
mRenderer.reset( static_cast<QgsMaskRendererV2*>( renderer ) );
68+
// an existing mask renderer
69+
mRenderer.reset( static_cast<QgsMaskRendererV2*>(renderer) );
6270
}
6371

6472
int currentEmbeddedIdx = 0;

0 commit comments

Comments
 (0)