summaryrefslogtreecommitdiff
path: root/sfx2/source/appl/preventduplicateinteraction.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sfx2/source/appl/preventduplicateinteraction.cxx')
-rw-r--r--sfx2/source/appl/preventduplicateinteraction.cxx10
1 files changed, 9 insertions, 1 deletions
diff --git a/sfx2/source/appl/preventduplicateinteraction.cxx b/sfx2/source/appl/preventduplicateinteraction.cxx
index bf7eeab13a16..009754cae517 100644
--- a/sfx2/source/appl/preventduplicateinteraction.cxx
+++ b/sfx2/source/appl/preventduplicateinteraction.cxx
@@ -19,6 +19,7 @@
#include <preventduplicateinteraction.hxx>
+#include <comphelper/processfactory.hxx>
#include <osl/diagnose.h>
#include <com/sun/star/task/InteractionHandler.hpp>
@@ -53,7 +54,9 @@ void PreventDuplicateInteraction::useDefaultUUIHandler()
aLock.clear();
// <- SAFE
- css::uno::Reference< css::task::XInteractionHandler > xHandler( css::task::InteractionHandler::createWithParent( m_xContext, nullptr ), css::uno::UNO_QUERY_THROW );
+ m_xWarningDialogsParent.reset(new WarningDialogsParentScope(m_xContext));
+ css::uno::Reference<css::task::XInteractionHandler> xHandler(css::task::InteractionHandler::createWithParent(
+ m_xContext, m_xWarningDialogsParent->GetDialogParent()), css::uno::UNO_QUERY_THROW);
// SAFE ->
aLock.reset();
@@ -227,6 +230,11 @@ bool PreventDuplicateInteraction::getInteractionInfo(const css::uno::Type&
return false;
}
+IMPL_STATIC_LINK_NOARG(WarningDialogsParent, TerminateDesktop, void*, void)
+{
+ css::frame::Desktop::create(comphelper::getProcessComponentContext())->terminate();
+}
+
} // namespace sfx2
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */