sfx2/source/doc/objstor.cxx | 16 ++++++++-------- sfx2/source/doc/objxtor.cxx | 14 ++++++-------- sfx2/source/inc/objshimp.hxx | 5 +++-- 3 files changed, 17 insertions(+), 18 deletions(-)
New commits: commit 8a08ddd7371024db9a0cb901e956b5ba4bd40a06 Author: Stephan Bergmann <sberg...@redhat.com> Date: Fri Aug 22 08:50:56 2014 +0200 No need to own SfxBasicManagerHolder by pointer in SfxObjectShell_Impl Change-Id: I55da464ef1d3381fb51949a349f844dbd7da49eb diff --git a/sfx2/source/doc/objstor.cxx b/sfx2/source/doc/objstor.cxx index 7de5349..6e8b659 100644 --- a/sfx2/source/doc/objstor.cxx +++ b/sfx2/source/doc/objstor.cxx @@ -1060,13 +1060,13 @@ bool SfxObjectShell::DoSave() GetBasicManager(); // disconnect from the current storage - pImp->pBasicManager->setStorage( xTmpStorage ); + pImp->aBasicManager.setStorage( xTmpStorage ); // store to the current storage - pImp->pBasicManager->storeLibrariesToStorage( GetMedium()->GetStorage() ); + pImp->aBasicManager.storeLibrariesToStorage( GetMedium()->GetStorage() ); // connect to the current storage back - pImp->pBasicManager->setStorage( GetMedium()->GetStorage() ); + pImp->aBasicManager.setStorage( GetMedium()->GetStorage() ); } catch( uno::Exception& ) { @@ -1858,7 +1858,7 @@ bool SfxObjectShell::ConnectTmpStorage_Impl( if ( bResult ) { - pImp->pBasicManager->setStorage( xTmpStorage ); + pImp->aBasicManager.setStorage( xTmpStorage ); // Get rid of this workaround after issue i113914 is fixed try @@ -2014,7 +2014,7 @@ bool SfxObjectShell::DoSaveCompleted( SfxMedium* pNewMed ) // TODO/LATER: may be this code will be replaced, but not sure // Set storage in document library containers - pImp->pBasicManager->setStorage( xStorage ); + pImp->aBasicManager.setStorage( xStorage ); // Get rid of this workaround after issue i113914 is fixed try @@ -3097,7 +3097,7 @@ bool SfxObjectShell::SaveAsOwnFormat( SfxMedium& rMedium ) GetBasicManager(); // Save dialog/script container - pImp->pBasicManager->storeLibrariesToStorage( xStorage ); + pImp->aBasicManager.storeLibrariesToStorage( xStorage ); } #endif return SaveAs( rMedium ); @@ -3632,12 +3632,12 @@ bool SfxObjectShell::QuerySaveSizeExceededModules_Impl( const uno::Reference< ta if ( !HasBasic() ) return true; - if ( !pImp->pBasicManager->isValid() ) + if ( !pImp->aBasicManager.isValid() ) GetBasicManager(); uno::Sequence< OUString > sModules; if ( xHandler.is() ) { - if( pImp->pBasicManager->LegacyPsswdBinaryLimitExceeded( sModules ) ) + if( pImp->aBasicManager.LegacyPsswdBinaryLimitExceeded( sModules ) ) { ModuleSizeExceeded* pReq = new ModuleSizeExceeded( sModules ); uno::Reference< task::XInteractionRequest > xReq( pReq ); diff --git a/sfx2/source/doc/objxtor.cxx b/sfx2/source/doc/objxtor.cxx index 409ce93..2b4112b 100644 --- a/sfx2/source/doc/objxtor.cxx +++ b/sfx2/source/doc/objxtor.cxx @@ -205,7 +205,6 @@ TYPEINIT1(SfxObjectShell, SfxShell); SfxObjectShell_Impl::SfxObjectShell_Impl( SfxObjectShell& _rDocShell ) :mpObjectContainer(0) - ,pBasicManager( new SfxBasicManagerHolder ) ,rDocShell( _rDocShell ) ,aMacroMode( *this ) ,pProgress( 0) @@ -276,7 +275,6 @@ SfxObjectShell_Impl::SfxObjectShell_Impl( SfxObjectShell& _rDocShell ) SfxObjectShell_Impl::~SfxObjectShell_Impl() { - delete pBasicManager; } @@ -364,7 +362,7 @@ SfxObjectShell::~SfxObjectShell() pSfxApp->ReleaseIndex(pImp->nVisualDocumentNumber); // Destroy Basic-Manager - pImp->pBasicManager->reset( NULL ); + pImp->aBasicManager.reset( NULL ); if ( pSfxApp->GetDdeService() ) pSfxApp->RemoveDdeTopic( this ); @@ -688,7 +686,7 @@ namespace { if ( !_rDocument.Get_Impl()->bBasicInitialized ) const_cast< SfxObjectShell& >( _rDocument ).InitBasicManager_Impl(); - return _rDocument.Get_Impl()->pBasicManager->get(); + return _rDocument.Get_Impl()->aBasicManager.get(); } // assume we do not have Basic ourself, but we can refer to another @@ -749,7 +747,7 @@ bool SfxObjectShell::HasBasic() const if ( !pImp->bBasicInitialized ) const_cast< SfxObjectShell* >( this )->InitBasicManager_Impl(); - return pImp->pBasicManager->isValid(); + return pImp->aBasicManager.isValid(); #endif } @@ -876,16 +874,16 @@ void SfxObjectShell::InitBasicManager_Impl() Basic managers is the global BasicManagerRepository instance. */ #ifndef DISABLE_SCRIPTING - DBG_ASSERT( !pImp->bBasicInitialized && !pImp->pBasicManager->isValid(), "Lokaler BasicManager bereits vorhanden"); + DBG_ASSERT( !pImp->bBasicInitialized && !pImp->aBasicManager.isValid(), "Lokaler BasicManager bereits vorhanden"); try { - pImp->pBasicManager->reset( BasicManagerRepository::getDocumentBasicManager( GetModel() ) ); + pImp->aBasicManager.reset( BasicManagerRepository::getDocumentBasicManager( GetModel() ) ); } catch (const css::ucb::ContentCreationException& e) { SAL_WARN("sfx.doc", "caught exception " << e.Message); } - DBG_ASSERT( pImp->pBasicManager->isValid(), "SfxObjectShell::InitBasicManager_Impl: did not get a BasicManager!" ); + DBG_ASSERT( pImp->aBasicManager.isValid(), "SfxObjectShell::InitBasicManager_Impl: did not get a BasicManager!" ); pImp->bBasicInitialized = true; #endif } diff --git a/sfx2/source/inc/objshimp.hxx b/sfx2/source/inc/objshimp.hxx index a32e4f3..ff3f2b3 100644 --- a/sfx2/source/inc/objshimp.hxx +++ b/sfx2/source/inc/objshimp.hxx @@ -31,6 +31,8 @@ #include <sfx2/docmacromode.hxx> #include "bitset.hxx" +#include <appbaslib.hxx> + namespace svtools { class AsynchronLink; } class SfxViewFrame; @@ -46,8 +48,7 @@ class SfxBasicManagerHolder; struct SfxObjectShell_Impl : public ::sfx2::IMacroDocumentAccess { ::comphelper::EmbeddedObjectContainer* mpObjectContainer; - SfxBasicManagerHolder* - pBasicManager; + SfxBasicManagerHolder aBasicManager; SfxObjectShell& rDocShell; ::com::sun::star::uno::Reference< ::com::sun::star::script::XLibraryContainer > xBasicLibraries; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits