diff options
author | Carsten Driesner <cd@openoffice.org> | 2001-12-13 08:04:55 +0000 |
---|---|---|
committer | Carsten Driesner <cd@openoffice.org> | 2001-12-13 08:04:55 +0000 |
commit | ed51551443914db821cda07561e501717bce1ff0 (patch) | |
tree | eb265d810303eed7625f2d1161c9eb495b896c8f /desktop | |
parent | 0331f1b2f7a8e5b6dd23e39b8bd1eda589954af0 (diff) |
#95896# Quickstarter should not stop windows shutdown process
Diffstat (limited to 'desktop')
-rw-r--r-- | desktop/source/app/app.cxx | 29 |
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 ) |