diff options
author | npower Developer <npower@openoffice.org> | 2010-03-02 12:39:31 +0000 |
---|---|---|
committer | npower Developer <npower@openoffice.org> | 2010-03-02 12:39:31 +0000 |
commit | da0a3a0e7f71bc56a6e4e49b4d0645de6903739c (patch) | |
tree | b5758d632f0ffc509548dfd3afe9aaad1716deb1 /basic/source/comp/codegen.cxx | |
parent | 4d8175599b8d193aba6eef89ef905c830b87d7e7 (diff) |
npower13_objectmodule: #i109734# object module stuff
Diffstat (limited to 'basic/source/comp/codegen.cxx')
-rw-r--r-- | basic/source/comp/codegen.cxx | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/basic/source/comp/codegen.cxx b/basic/source/comp/codegen.cxx index c7a63b6d7fbb..1cf38f171e8b 100644 --- a/basic/source/comp/codegen.cxx +++ b/basic/source/comp/codegen.cxx @@ -127,12 +127,12 @@ void SbiCodeGen::Save() // OPTION EXPLICIT-Flag uebernehmen if( pParser->bExplicit ) p->SetFlag( SBIMG_EXPLICIT ); - if( pParser->IsVBASupportOn() ) - p->SetFlag( SBIMG_VBASUPPORT ); int nIfaceCount = 0; - if( pParser->bClassModule ) + if( rMod.mnType == com::sun::star::script::ModuleType::Class ) { + OSL_TRACE("COdeGen::save() classmodule processing"); + rMod.bIsProxyModule = true; p->SetFlag( SBIMG_CLASSMODULE ); pCLASSFAC->AddClassModule( &rMod ); @@ -155,6 +155,10 @@ void SbiCodeGen::Save() else { pCLASSFAC->RemoveClassModule( &rMod ); + // Only a ClassModule can revert to Normal + if ( rMod.mnType == com::sun::star::script::ModuleType::Class ) + rMod.mnType = com::sun::star::script::ModuleType::Normal; + rMod.bIsProxyModule = false; } if( pParser->bText ) p->SetFlag( SBIMG_COMPARETEXT ); |