summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--desktop/source/lib/init.cxx6
-rw-r--r--include/vcl/svapp.hxx1
-rw-r--r--vcl/source/window/dialog.cxx4
3 files changed, 11 insertions, 0 deletions
diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx
index e72f17e8c45a..621e2f3455f8 100644
--- a/desktop/source/lib/init.cxx
+++ b/desktop/source/lib/init.cxx
@@ -2249,6 +2249,12 @@ static LibreOfficeKitDocument* lo_documentLoadWithOptions(LibreOfficeKit* pThis,
const OUString aDeviceFormFactor = extractParameter(aOptions, "DeviceFormFactor");
SfxLokHelper::setDeviceFormFactor(aDeviceFormFactor);
+ const OUString aBatch = extractParameter(aOptions, "Batch");
+ if (!aBatch.isEmpty())
+ {
+ Application::SetDialogCancelMode(DialogCancelMode::LOKSilent);
+ }
+
uno::Sequence<css::beans::PropertyValue> aFilterOptions(3);
aFilterOptions[0] = css::beans::PropertyValue( "FilterOptions",
0,
diff --git a/include/vcl/svapp.hxx b/include/vcl/svapp.hxx
index d0c1e7f0bb6e..a0a5b53144c2 100644
--- a/include/vcl/svapp.hxx
+++ b/include/vcl/svapp.hxx
@@ -220,6 +220,7 @@ private:
enum class DialogCancelMode {
Off, ///< do not automatically cancel dialogs
Silent, ///< silently cancel any dialogs
+ LOKSilent, ///< silently cancel any dialogs (LOK case)
Fatal ///< cancel any dialogs by std::abort
};
diff --git a/vcl/source/window/dialog.cxx b/vcl/source/window/dialog.cxx
index d4437116b725..83fa562023ce 100644
--- a/vcl/source/window/dialog.cxx
+++ b/vcl/source/window/dialog.cxx
@@ -947,6 +947,10 @@ bool Dialog::ImplStartExecute()
"Dialog \"" << ImplGetDialogText(this)
<< "\"cancelled in silent mode");
return false;
+
+ case DialogCancelMode::LOKSilent:
+ return false;
+
default: // default cannot happen
case DialogCancelMode::Fatal:
std::abort();