Kaydet (Commit) 0fa14d58 authored tarafından Mike Kaganski's avatar Mike Kaganski

tdf#121180: close Options dialog when restart is confirmed

Change-Id: Ieb6e62ca83921abed6b6432d70c6717dadfaaa34
Reviewed-on: https://gerrit.libreoffice.org/65090Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
Tested-by: Jenkins
Reviewed-by: 's avatarMike Kaganski <mike.kaganski@collabora.com>
üst 340edbc5
......@@ -696,8 +696,9 @@ IMPL_LINK_NOARG(OfaTreeOptionsDialog, ApplyHdl_Impl, Button*, void)
if ( bNeedsRestart )
{
SolarMutexGuard aGuard;
::svtools::executeRestartDialog(comphelper::getProcessComponentContext(),
GetFrameWeld(), eRestartReason);
if (svtools::executeRestartDialog(comphelper::getProcessComponentContext(),
GetFrameWeld(), eRestartReason))
EndDialog(RET_OK);
}
}
......
......@@ -63,8 +63,8 @@ enum RestartReason {
RESTART_REASON_NONE
};
// Must be called with the solar mutex locked:
SVT_DLLPUBLIC void executeRestartDialog(
// Must be called with the solar mutex locked; returns if restart was initiated:
SVT_DLLPUBLIC bool executeRestartDialog(
css::uno::Reference< css::uno::XComponentContext > const & context,
weld::Window* parent, RestartReason reason);
......
......@@ -93,18 +93,20 @@ IMPL_LINK_NOARG(RestartDialog, hdlNo, weld::Button&, void)
}
void svtools::executeRestartDialog(
bool svtools::executeRestartDialog(
css::uno::Reference< css::uno::XComponentContext > const & context,
weld::Window* parent, RestartReason reason)
{
auto xRestartManager = css::task::OfficeRestartManager::get(context);
if (xRestartManager->isRestartRequested(false))
return; // don't try to show another dialog when restart is already in progress
return true; // don't try to show another dialog when restart is already in progress
RestartDialog aDlg(parent, reason);
if (aDlg.run()) {
xRestartManager->requestRestart(
css::uno::Reference< css::task::XInteractionHandler >());
return true;
}
return false;
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment