diff options
author | Jens-Heiner Rechtien <hr@openoffice.org> | 2004-11-09 11:37:58 +0000 |
---|---|---|
committer | Jens-Heiner Rechtien <hr@openoffice.org> | 2004-11-09 11:37:58 +0000 |
commit | 574ef8de17864e6a2600e2f191a1956b46ffcdcb (patch) | |
tree | eea33dcd0ec9f6500219d8f3fc261281f99d7597 /sfx2/source/appl/appbas.cxx | |
parent | 3cdc4e6fe7ff8218f9a2174121116467da8e915d (diff) |
INTEGRATION: CWS xmlbasic (1.33.18); FILE MERGED
2004/10/26 16:51:59 tbe 1.33.18.2: RESYNC: (1.33-1.34); FILE MERGED
2004/10/21 10:28:13 tbe 1.33.18.1: #i22747# XML filter adaptors and macros
Diffstat (limited to 'sfx2/source/appl/appbas.cxx')
-rw-r--r-- | sfx2/source/appl/appbas.cxx | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/sfx2/source/appl/appbas.cxx b/sfx2/source/appl/appbas.cxx index 690b153f84..f9dee6e21f 100644 --- a/sfx2/source/appl/appbas.cxx +++ b/sfx2/source/appl/appbas.cxx @@ -2,9 +2,9 @@ * * $RCSfile: appbas.cxx,v $ * - * $Revision: 1.34 $ + * $Revision: 1.35 $ * - * last change: $Author: kz $ $Date: 2004-10-04 20:42:26 $ + * last change: $Author: hr $ $Date: 2004-11-09 12:37:58 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -259,7 +259,8 @@ const SfxConstant __FAR_DATA aConstants[] = StarBASIC* SfxApplication::GetBasic_Impl() const { - return pImp->pBasicMgr ? pImp->pBasicMgr->GetLib(0) : NULL; + BasicManager* pBasMgr = GetAppBasicManager(); + return pBasMgr ? pBasMgr->GetLib(0) : NULL; } //------------------------------------------------------------------------ @@ -637,7 +638,8 @@ BasicManager* SfxApplication::GetBasicManager() // sicherheitshalber EnterBasicCall(); - if ( !pImp->pBasicMgr ) + BasicManager* pBasMgr = GetAppBasicManager(); + if ( !pBasMgr ) { // Directory bestimmen SvtPathOptions aPathCFG; @@ -653,18 +655,18 @@ BasicManager* SfxApplication::GetBasicManager() INetURLObject aAppBasic( SvtPathOptions().SubstituteVariable( String::CreateFromAscii("$(progurl)") ) ); aAppBasic.insertName( Application::GetAppName() ); - BasicManager* pBasicManager = new BasicManager( new StarBASIC, &aAppBasicDir ); - pImp->pBasicMgr = pBasicManager; + pBasMgr = new BasicManager( new StarBASIC, &aAppBasicDir ); + SetAppBasicManager( pBasMgr ); // Als Destination das erste Dir im Pfad: String aFileName( aAppBasic.getName() ); aAppBasic = INetURLObject( aAppBasicDir.GetToken(1) ); DBG_ASSERT( aAppBasic.GetProtocol() != INET_PROT_NOT_VALID, "Invalid URL!" ); aAppBasic.insertName( aFileName ); - pImp->pBasicMgr->SetStorageName( aAppBasic.PathToFileName() ); + pBasMgr->SetStorageName( aAppBasic.PathToFileName() ); // globale Variablen - StarBASIC *pBas = pImp->pBasicMgr->GetLib(0); + StarBASIC *pBas = pBasMgr->GetLib(0); sal_Bool bBasicWasModified = pBas->IsModified(); Reference< ::com::sun::star::lang::XMultiServiceFactory > xSMgr = ::comphelper::getProcessServiceFactory(); @@ -678,11 +680,11 @@ BasicManager* SfxApplication::GetBasicManager() // Basic container SfxScriptLibraryContainer* pBasicCont = new SfxScriptLibraryContainer - ( DEFINE_CONST_UNICODE( "StarBasic" ), pBasicManager ); + ( DEFINE_CONST_UNICODE( "StarBasic" ), pBasMgr ); pBasicCont->acquire(); // Hold via UNO Reference< XLibraryContainer > xBasicCont = static_cast< XLibraryContainer* >( pBasicCont ); pImp->pBasicLibContainer = pBasicCont; - pBasicCont->setBasicManager( pBasicManager ); + pBasicCont->setBasicManager( pBasMgr ); // Dialog container SfxDialogLibraryContainer* pDialogCont = new SfxDialogLibraryContainer( uno::Reference< embed::XStorage >() ); @@ -692,7 +694,7 @@ BasicManager* SfxApplication::GetBasicManager() LibraryContainerInfo* pInfo = new LibraryContainerInfo ( xBasicCont, xDialogCont, static_cast< OldBasicPassword* >( pBasicCont ) ); - pBasicManager->SetLibraryContainerInfo( pInfo ); + pBasMgr->SetLibraryContainerInfo( pInfo ); Any aBasicCont; aBasicCont <<= xBasicCont; @@ -725,13 +727,15 @@ BasicManager* SfxApplication::GetBasicManager() pBas->SetModified( sal_False ); } - return pImp->pBasicMgr; + return pBasMgr; } //-------------------------------------------------------------------- Reference< XLibraryContainer > SfxApplication::GetDialogContainer() { + if( !pImp->pDialogLibContainer ) + GetBasicManager(); Reference< XLibraryContainer > xRet = static_cast< XLibraryContainer* >( pImp->pDialogLibContainer ); return xRet; @@ -741,6 +745,8 @@ Reference< XLibraryContainer > SfxApplication::GetDialogContainer() Reference< XLibraryContainer > SfxApplication::GetBasicContainer() { + if( !pImp->pBasicLibContainer ) + GetBasicManager(); Reference< XLibraryContainer > xRet = static_cast< XLibraryContainer* >( pImp->pBasicLibContainer ); return xRet; |