diff --git a/svx/source/dialog/ThemeDialog.cxx b/svx/source/dialog/ThemeDialog.cxx index 8af6f5975df2..cda60a457b04 100644 --- a/svx/source/dialog/ThemeDialog.cxx +++ b/svx/source/dialog/ThemeDialog.cxx @@ -88,7 +88,10 @@ void ThemeDialog::runThemeColorEditDialog() auto pDialog = std::make_shared(mpWindow, *mpCurrentColorSet); weld::DialogController::runAsync(pDialog, [this, pDialog](sal_uInt32 nResult) { if (nResult != RET_OK) + { + mxAdd->set_sensitive(true); return; + } auto aColorSet = pDialog->getColorSet(); if (!aColorSet.getName().isEmpty()) { @@ -102,6 +105,7 @@ void ThemeDialog::runThemeColorEditDialog() mpCurrentColorSet = std::make_shared(maColorSets[maColorSets.size() - 1]); } + mxAdd->set_sensitive(true); }); } @@ -110,6 +114,7 @@ IMPL_LINK(ThemeDialog, ButtonClicked, weld::Button&, rButton, void) if (mpCurrentColorSet && mxAdd.get() == &rButton) { runThemeColorEditDialog(); + mxAdd->set_sensitive(false); } }