diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2013-01-07 12:36:08 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2013-01-07 12:36:08 +0100 |
commit | 5ea6f6d400e59e037032fb3091c3f6880b562ce9 (patch) | |
tree | fa7bccaebf53899c069e7b0896841b25e1d3af40 /sd/source/ui | |
parent | 1e1ba8611fb134fb693354daae8931e93e46124c (diff) |
UNO objects must be allocated on the heap
This was a regression introduced with 5ea7e74c29f7279b6c31d38185ace576f68f4fb2
"fix some memory leaks in sd."
Change-Id: Ibcb2527b396886a5a904d8843c8560765ed859f5
Diffstat (limited to 'sd/source/ui')
-rw-r--r-- | sd/source/ui/controller/slidelayoutcontroller.cxx | 6 | ||||
-rw-r--r-- | sd/source/ui/toolpanel/ToolPanelFactory.cxx | 3 | ||||
-rw-r--r-- | sd/source/ui/unoidl/sddetect.cxx | 3 |
3 files changed, 8 insertions, 4 deletions
diff --git a/sd/source/ui/controller/slidelayoutcontroller.cxx b/sd/source/ui/controller/slidelayoutcontroller.cxx index 5cce3a4f8492..ddd61701c279 100644 --- a/sd/source/ui/controller/slidelayoutcontroller.cxx +++ b/sd/source/ui/controller/slidelayoutcontroller.cxx @@ -331,7 +331,8 @@ Sequence< OUString > SlideLayoutController_getSupportedServiceNames() throw( Ru Reference< XInterface > SAL_CALL SlideLayoutController_createInstance( const Reference< XMultiServiceFactory >& rSMgr ) throw( RuntimeException ) { - return SlideLayoutController( rSMgr, ".uno:AssignLayout", false ); + return static_cast< cppu::OWeakObject * >( + new SlideLayoutController( rSMgr, ".uno:AssignLayout", false )); } // -------------------------------------------------------------------- @@ -354,7 +355,8 @@ Sequence< OUString > InsertSlideController_getSupportedServiceNames() throw( Ru Reference< XInterface > SAL_CALL InsertSlideController_createInstance( const Reference< XMultiServiceFactory >& rSMgr ) throw( RuntimeException ) { - return SlideLayoutController( rSMgr, ".uno:InsertPage" , true ); + return static_cast< cppu::OWeakObject * >( + new SlideLayoutController( rSMgr, ".uno:InsertPage" , true ) ); } //======================================================================== diff --git a/sd/source/ui/toolpanel/ToolPanelFactory.cxx b/sd/source/ui/toolpanel/ToolPanelFactory.cxx index 5989ad044719..fdc58a15b424 100644 --- a/sd/source/ui/toolpanel/ToolPanelFactory.cxx +++ b/sd/source/ui/toolpanel/ToolPanelFactory.cxx @@ -100,7 +100,8 @@ namespace sd { namespace toolpanel //------------------------------------------------------------------------------------------------------------------ Reference< XInterface > SAL_CALL ToolPanelFactory_createInstance( const Reference< XComponentContext >& i_rContext ) { - return Reference< XInterface >( ToolPanelFactory( i_rContext ) ); + return static_cast< cppu::OWeakObject * >( + new ToolPanelFactory( i_rContext ) ); } //------------------------------------------------------------------------------------------------------------------ diff --git a/sd/source/ui/unoidl/sddetect.cxx b/sd/source/ui/unoidl/sddetect.cxx index 8a8bb9431776..eff86c53db2a 100644 --- a/sd/source/ui/unoidl/sddetect.cxx +++ b/sd/source/ui/unoidl/sddetect.cxx @@ -515,7 +515,8 @@ rtl::OUString SdFilterDetect::impl_getStaticImplementationName() /* Helper for registry */ UNOREFERENCE< UNOXINTERFACE > SAL_CALL SdFilterDetect::impl_createInstance( const UNOREFERENCE< UNOXMULTISERVICEFACTORY >& xServiceManager ) throw( UNOEXCEPTION ) { - return UNOREFERENCE< UNOXINTERFACE >( SdFilterDetect( xServiceManager ) ); + return static_cast< cppu::OWeakObject * >( + new SdFilterDetect( xServiceManager ) ); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |