summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
authorCarsten Driesner <cd@openoffice.org>2001-12-13 08:04:55 +0000
committerCarsten Driesner <cd@openoffice.org>2001-12-13 08:04:55 +0000
commited51551443914db821cda07561e501717bce1ff0 (patch)
treeeb265d810303eed7625f2d1161c9eb495b896c8f /desktop
parent0331f1b2f7a8e5b6dd23e39b8bd1eda589954af0 (diff)
#95896# Quickstarter should not stop windows shutdown process
Diffstat (limited to 'desktop')
-rw-r--r--desktop/source/app/app.cxx29
1 files changed, 26 insertions, 3 deletions
diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx
index 71acf329ef49..4fb663f1d5fa 100644
--- a/desktop/source/app/app.cxx
+++ b/desktop/source/app/app.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: app.cxx,v $
*
- * $Revision: 1.67 $
+ * $Revision: 1.68 $
*
- * last change: $Author: cd $ $Date: 2001-12-11 14:39:35 $
+ * last change: $Author: cd $ $Date: 2001-12-13 09:01:53 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -149,6 +149,9 @@
#ifndef _COM_SUN_STAR_TASK_XJOBEXECUTOR_HPP_
#include <com/sun/star/task/XJobExecutor.hpp>
#endif
+#ifndef _COM_SUN_STAR_BEANS_XPROPERTYSET_HPP_
+#include <com/sun/star/beans/XPropertySet.hpp>
+#endif
#include <com/sun/star/beans/XMaterialHolder.hpp>
@@ -631,11 +634,31 @@ void Desktop::DeInit()
BOOL Desktop::QueryExit()
{
+ const sal_Char SUSPEND_QUICKSTARTVETO[] = "SuspendQuickstartVeto";
+
DBG_ERROR("QueryExit!");
Reference< ::com::sun::star::frame::XDesktop >
xDesktop( ::comphelper::getProcessServiceFactory()->createInstance( OUSTRING(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop")) ),
UNO_QUERY );
- return !xDesktop.is() || xDesktop->terminate();
+
+ Reference < ::com::sun::star::beans::XPropertySet > xPropertySet( xDesktop, UNO_QUERY );
+ if ( xPropertySet.is() )
+ {
+ Any a;
+ a <<= (sal_Bool)sal_True;
+ xPropertySet->setPropertyValue( OUSTRING(RTL_CONSTASCII_USTRINGPARAM( SUSPEND_QUICKSTARTVETO )), a );
+ }
+
+ BOOL bExit = ( !xDesktop.is() || xDesktop->terminate() );
+
+ if ( !bExit && xPropertySet.is() )
+ {
+ Any a;
+ a <<= (sal_Bool)sal_False;
+ xPropertySet->setPropertyValue( OUSTRING(RTL_CONSTASCII_USTRINGPARAM( SUSPEND_QUICKSTARTVETO )), a );
+ }
+
+ return bExit;
}
void Desktop::StartSetup( const OUString& aParameters )