summaryrefslogtreecommitdiff
path: root/sfx2/source/appl/appbas.cxx
diff options
context:
space:
mode:
authorJens-Heiner Rechtien <hr@openoffice.org>2004-11-09 11:37:58 +0000
committerJens-Heiner Rechtien <hr@openoffice.org>2004-11-09 11:37:58 +0000
commit574ef8de17864e6a2600e2f191a1956b46ffcdcb (patch)
treeeea33dcd0ec9f6500219d8f3fc261281f99d7597 /sfx2/source/appl/appbas.cxx
parent3cdc4e6fe7ff8218f9a2174121116467da8e915d (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.cxx30
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;