To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=80769
------- Additional comments from [EMAIL PROTECTED] Tue Aug 21 18:01:37 +0000
2007 -------
This is the killer - together with another bug:
StarBASIC::StarBASIC( StarBASIC* p )
: SbxObject( String( RTL_CONSTASCII_USTRINGPARAM("StarBASIC") ) )
{
SetParent( p );
pLibInfo = NULL;
bNoRtl = bBreak = FALSE;
pModules = new SbxArray;
if( !GetSbData()->nInst++ ) // ***
{
pSBFAC = new SbiFactory;
AddFactory( pSBFAC );
pUNOFAC = new SbUnoFactory;
AddFactory( pUNOFAC );
pTYPEFAC = new SbTypeFactory;
AddFactory( pTYPEFAC );
pCLASSFAC = new SbClassFactory;
AddFactory( pCLASSFAC );
pOLEFAC = new SbOLEFactory;
AddFactory( pOLEFAC );
}
// pRtl = new SbiStdObject( String( RTL_CONSTASCII_USTRINGPARAM(RTLNAME)
), this );
// Suche ueber StarBASIC ist immer global
SetFlag( SBX_GBLSEARCH );
}
The marked line is an object that is shared between binfilter and "the other
code". So as soon as the first "sb" instance is created elsewhere binfilter
refuses to instantiate its own SbxFactories. So even fixing the first problem
(replacing SHL_PTR by a static pointer) is not enough. We need an own instance
counter for binfilter:
SbiGlobals* GetSbData()
{
SbiGlobals** pp = (SbiGlobals**) ::GetAppData( SHL_SBC );
SbiGlobals* p = *pp;
if( !p )
p = *pp = new SbiGlobals;
return p;
}
is the culprit - again a SHL_PTR problem.
grepping for "SHL_" in bf_basic showed me more of them. :-(
So I'm afraid that this will take some more work to do.
---------------------------------------------------------------------
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]