summaryrefslogtreecommitdiff
path: root/sfx2
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2012-08-23 15:43:05 +0200
committerStephan Bergmann <sbergman@redhat.com>2012-08-27 15:40:06 +0200
commitf789715a414bd1115401f93d11f09260f891956c (patch)
tree2e7ce9d3841ae8c98585901ddae699dbb9528820 /sfx2
parent65c78617de30f4928255b15599e7709fa0081f67 (diff)
fdo#46808, Use factory methods for frame::DispatchHelper instances
Change-Id: I7bdf16fc6d042e5ecd404c604a8b7c31c1ac7bc1
Diffstat (limited to 'sfx2')
-rw-r--r--sfx2/source/appl/appserv.cxx56
1 files changed, 25 insertions, 31 deletions
diff --git a/sfx2/source/appl/appserv.cxx b/sfx2/source/appl/appserv.cxx
index 063a09afee07..f28418384d2b 100644
--- a/sfx2/source/appl/appserv.cxx
+++ b/sfx2/source/appl/appserv.cxx
@@ -24,8 +24,8 @@
#include <com/sun/star/frame/DispatchResultState.hpp>
#include <com/sun/star/task/XJobExecutor.hpp>
#include <com/sun/star/ui/dialogs/XExecutableDialog.hpp>
+#include <com/sun/star/frame/DispatchHelper.hpp>
#include <com/sun/star/frame/XDesktop.hpp>
-#include <com/sun/star/frame/XDispatchHelper.hpp>
#include <com/sun/star/frame/XFramesSupplier.hpp>
#include <com/sun/star/util/XCloseable.hpp>
#include <com/sun/star/util/CloseVetoException.hpp>
@@ -1308,27 +1308,24 @@ void SfxApplication::OfaExec_Impl( SfxRequest& rReq )
}
Reference< com::sun::star::lang::XMultiServiceFactory > xORB = ::comphelper::getProcessServiceFactory();
+ Reference< uno::XComponentContext > xContext = ::comphelper::getProcessComponentContext();
Reference< com::sun::star::frame::XDispatchProvider > xProv(
xORB->createInstance( ::rtl::OUString("com.sun.star.drawing.ModuleDispatcher")), UNO_QUERY );
if ( xProv.is() )
{
::rtl::OUString aCmd = ::rtl::OUString::createFromAscii( GetInterface()->GetSlot( rReq.GetSlot() )->GetUnoName() );
- Reference< com::sun::star::frame::XDispatchHelper > xHelper(
- xORB->createInstance( ::rtl::OUString("com.sun.star.frame.DispatchHelper")), UNO_QUERY );
- if ( xHelper.is() )
- {
- Sequence < com::sun::star::beans::PropertyValue > aSeq;
- if ( rReq.GetArgs() )
- TransformItems( rReq.GetSlot(), *rReq.GetArgs(), aSeq );
- Any aResult = xHelper->executeDispatch( xProv, aCmd, ::rtl::OUString(), 0, aSeq );
- ::com::sun::star::frame::DispatchResultEvent aEvent;
- sal_Bool bSuccess = (
- (aResult >>= aEvent) &&
- (aEvent.State == ::com::sun::star::frame::DispatchResultState::SUCCESS)
- );
- rReq.SetReturnValue( SfxBoolItem( rReq.GetSlot(), bSuccess ) );
- }
+ Reference< frame::XDispatchHelper > xHelper( frame::DispatchHelper::create(xContext) );
+ Sequence < com::sun::star::beans::PropertyValue > aSeq;
+ if ( rReq.GetArgs() )
+ TransformItems( rReq.GetSlot(), *rReq.GetArgs(), aSeq );
+ Any aResult = xHelper->executeDispatch( xProv, aCmd, ::rtl::OUString(), 0, aSeq );
+ ::com::sun::star::frame::DispatchResultEvent aEvent;
+ sal_Bool bSuccess = (
+ (aResult >>= aEvent) &&
+ (aEvent.State == ::com::sun::star::frame::DispatchResultState::SUCCESS)
+ );
+ rReq.SetReturnValue( SfxBoolItem( rReq.GetSlot(), bSuccess ) );
}
}
break;
@@ -1338,27 +1335,24 @@ void SfxApplication::OfaExec_Impl( SfxRequest& rReq )
case FN_XFORMS_INIT :
{
Reference< com::sun::star::lang::XMultiServiceFactory > xORB = ::comphelper::getProcessServiceFactory();
+ Reference< uno::XComponentContext > xContext = ::comphelper::getProcessComponentContext();
Reference< com::sun::star::frame::XDispatchProvider > xProv(
xORB->createInstance( ::rtl::OUString("com.sun.star.text.ModuleDispatcher")), UNO_QUERY );
if ( xProv.is() )
{
::rtl::OUString aCmd = ::rtl::OUString::createFromAscii( GetInterface()->GetSlot( rReq.GetSlot() )->GetUnoName() );
- Reference< com::sun::star::frame::XDispatchHelper > xHelper(
- xORB->createInstance( ::rtl::OUString("com.sun.star.frame.DispatchHelper")), UNO_QUERY );
- if ( xHelper.is() )
- {
- Sequence < com::sun::star::beans::PropertyValue > aSeq;
- if ( rReq.GetArgs() )
- TransformItems( rReq.GetSlot(), *rReq.GetArgs(), aSeq );
- Any aResult = xHelper->executeDispatch( xProv, aCmd, ::rtl::OUString(), 0, aSeq );
- ::com::sun::star::frame::DispatchResultEvent aEvent;
- sal_Bool bSuccess = (
- (aResult >>= aEvent) &&
- (aEvent.State == ::com::sun::star::frame::DispatchResultState::SUCCESS)
- );
- rReq.SetReturnValue( SfxBoolItem( rReq.GetSlot(), bSuccess ) );
- }
+ Reference< frame::XDispatchHelper > xHelper( frame::DispatchHelper::create(xContext) );
+ Sequence < com::sun::star::beans::PropertyValue > aSeq;
+ if ( rReq.GetArgs() )
+ TransformItems( rReq.GetSlot(), *rReq.GetArgs(), aSeq );
+ Any aResult = xHelper->executeDispatch( xProv, aCmd, ::rtl::OUString(), 0, aSeq );
+ ::com::sun::star::frame::DispatchResultEvent aEvent;
+ sal_Bool bSuccess = (
+ (aResult >>= aEvent) &&
+ (aEvent.State == ::com::sun::star::frame::DispatchResultState::SUCCESS)
+ );
+ rReq.SetReturnValue( SfxBoolItem( rReq.GetSlot(), bSuccess ) );
}
}
break;