@@ -550,11 +550,15 @@ void QgsCategorizedSymbolRendererWidget::changeCategorizedSymbol()
550
550
551
551
connect ( dlg, &QgsPanelWidget::widgetChanged, this , &QgsCategorizedSymbolRendererWidget::updateSymbolsFromWidget );
552
552
connect ( dlg, &QgsPanelWidget::panelAccepted, this , &QgsCategorizedSymbolRendererWidget::cleanUpSymbolSelector );
553
+ connect ( dlg, &QgsPanelWidget::panelAccepted, this , &QgsCategorizedSymbolRendererWidget::updateCategorizedSymbolIcon );
553
554
openPanel ( dlg );
554
555
}
555
556
556
557
void QgsCategorizedSymbolRendererWidget::updateCategorizedSymbolIcon ()
557
558
{
559
+ if ( !mCategorizedSymbol )
560
+ return ;
561
+
558
562
QIcon icon = QgsSymbolLayerUtils::symbolPreviewIcon ( mCategorizedSymbol .get (), btnChangeCategorizedSymbol->iconSize () );
559
563
btnChangeCategorizedSymbol->setIcon ( icon );
560
564
}
@@ -950,7 +954,6 @@ void QgsCategorizedSymbolRendererWidget::updateSymbolsFromWidget()
950
954
QgsSymbolSelectorWidget *dlg = qobject_cast<QgsSymbolSelectorWidget *>( sender () );
951
955
mCategorizedSymbol .reset ( dlg->symbol ()->clone () );
952
956
953
- updateCategorizedSymbolIcon ();
954
957
// When there is a selection, change the selected symbols only
955
958
QItemSelectionModel *m = viewCategories->selectionModel ();
956
959
QModelIndexList i = m->selectedRows ();
@@ -973,10 +976,12 @@ void QgsCategorizedSymbolRendererWidget::updateSymbolsFromWidget()
973
976
}
974
977
emit widgetChanged ();
975
978
}
976
- return ;
979
+ }
980
+ else
981
+ {
982
+ mRenderer ->updateSymbols ( mCategorizedSymbol .get () );
977
983
}
978
984
979
- mRenderer ->updateSymbols ( mCategorizedSymbol .get () );
980
985
emit widgetChanged ();
981
986
}
982
987
0 commit comments