summaryrefslogtreecommitdiff
path: root/desktop/source/deployment/gui/dp_gui_service.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'desktop/source/deployment/gui/dp_gui_service.cxx')
-rw-r--r--desktop/source/deployment/gui/dp_gui_service.cxx16
1 files changed, 16 insertions, 0 deletions
diff --git a/desktop/source/deployment/gui/dp_gui_service.cxx b/desktop/source/deployment/gui/dp_gui_service.cxx
index 71c6ccd74ff4..cec91ad4730e 100644
--- a/desktop/source/deployment/gui/dp_gui_service.cxx
+++ b/desktop/source/deployment/gui/dp_gui_service.cxx
@@ -33,6 +33,7 @@
#include "cppuhelper/implbase2.hxx"
#include "cppuhelper/implementationentry.hxx"
#include "unotools/configmgr.hxx"
+#include "comphelper/processfactory.hxx"
#include "comphelper/servicedecl.hxx"
#include "comphelper/unwrapargs.hxx"
#include <i18npool/mslangid.hxx>
@@ -47,6 +48,8 @@
#include "license_dialog.hxx"
#include "dp_gui_dialog2.hxx"
#include "dp_gui_extensioncmdqueue.hxx"
+#include <ucbhelper/contentbroker.hxx>
+
using namespace ::dp_misc;
using namespace ::com::sun::star;
@@ -66,6 +69,7 @@ public:
// Application
virtual int Main();
+ virtual void DeInit();
};
//______________________________________________________________________________
@@ -85,6 +89,18 @@ int MyApp::Main()
}
+void MyApp::DeInit()
+{
+ if (::ucbhelper::ContentBroker::get())
+ ::ucbhelper::ContentBroker::deinitialize();
+ css::uno::Reference< css::uno::XComponentContext > context(
+ comphelper::getProcessComponentContext());
+ dp_misc::disposeBridges(context);
+ css::uno::Reference< css::lang::XComponent >(
+ context, css::uno::UNO_QUERY_THROW)->dispose();
+ comphelper::setProcessServiceFactory(0);
+}
+
namespace
{
struct ProductName