Skip to content

Commit

Permalink
Fix effect preview picture not set when effect widget is opened in di…
Browse files Browse the repository at this point in the history
…alog mode

Also fix a memory leak when opened in dialog mode

Fixes #33600
  • Loading branch information
nyalldawson committed Jan 6, 2020
1 parent cf6cd48 commit 8a9a174
Showing 1 changed file with 11 additions and 6 deletions.
17 changes: 11 additions & 6 deletions src/gui/effects/qgseffectstackpropertieswidget.cpp
Expand Up @@ -470,22 +470,27 @@ void QgsEffectStackCompactWidget::showDialog()
return;

QgsEffectStack *clone = mStack->clone();
QgsEffectStackPropertiesWidget *widget = new QgsEffectStackPropertiesWidget( clone, nullptr );
if ( mPreviewPicture )
{
widget->setPreviewPicture( *mPreviewPicture );
}

QgsPanelWidget *panel = QgsPanelWidget::findParentPanel( qobject_cast< QWidget * >( parent() ) );
if ( panel && panel->dockMode() )
{
QgsEffectStackPropertiesWidget *widget = new QgsEffectStackPropertiesWidget( clone, nullptr );
if ( mPreviewPicture )
{
widget->setPreviewPicture( *mPreviewPicture );
}

connect( widget, &QgsPanelWidget::widgetChanged, this, &QgsEffectStackCompactWidget::updateEffectLive );
connect( widget, &QgsPanelWidget::panelAccepted, this, &QgsEffectStackCompactWidget::updateAcceptWidget );
panel->openPanel( widget );
}
else
{
QgsEffectStackPropertiesDialog dlg( clone, this );
if ( mPreviewPicture )
{
dlg.setPreviewPicture( *mPreviewPicture );
}

if ( dlg.exec() == QDialog::Accepted )
{
*mStack = *clone;
Expand Down

0 comments on commit 8a9a174

Please sign in to comment.