summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cui/source/options/treeopt.cxx16
1 files changed, 13 insertions, 3 deletions
diff --git a/cui/source/options/treeopt.cxx b/cui/source/options/treeopt.cxx
index e2ec8ed927dd..cd30560c3fd2 100644
--- a/cui/source/options/treeopt.cxx
+++ b/cui/source/options/treeopt.cxx
@@ -735,11 +735,21 @@ IMPL_LINK(OfaTreeOptionsDialog, ApplyHdl_Impl, weld::Button&, rButton, void)
SelectHdl_Impl();
}
- if ( bNeedsRestart )
+ if (bNeedsRestart)
{
SolarMutexGuard aGuard;
- ::svtools::executeRestartDialog(comphelper::getProcessComponentContext(),
- m_pParent, eRestartReason);
+ weld::Window* pParent;
+ if (!bOkPressed)
+ pParent = m_xDialog.get();
+ else
+ {
+ m_xDialog->hide();
+ pParent = m_pParent;
+ }
+ bool bRestart = ::svtools::executeRestartDialog(comphelper::getProcessComponentContext(),
+ pParent, eRestartReason);
+ if (bRestart && !bOkPressed)
+ m_xDialog->response(RET_OK);
}
}