Closed Bug 154262 Opened 23 years ago Closed 23 years ago

More XPCOM Glue changes and fixes

Categories

(Core :: XPCOM, defect)

x86
Windows 2000
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: dougt, Assigned: dougt)

Details

Attachments

(1 file)

The follow patch does the follow: + adds NS_GetFrozenFunctions to the nspr symbol namespace so that xpcom components can find it. Basically what we can do now is a component can just use startup the glue code via: XPCOMGlueStartup("XPCOMComponentGlue"); + comments out some debug code if compiling XPCOM_GLUE. This reduces a dependancy on nsID::ToString + remaining the default name when passing nsnull to XPCOMGlueStartup from xpcom32.dll to xpcom.dll. The actually name on disk is xpcom.dll. + makes our sample component use the glue library successfully. + moves calling exit routines before unloading xpcom components. without this change, if we unload a dll and that dll uses exit routines, we would core.
Attached patch patch v.1Splinter Review
Comment on attachment 89168 [details] [diff] [review] patch v.1 r=waterson
Attachment #89168 - Flags: review+
Checking in build/nsXPComInit.cpp; /cvsroot/mozilla/xpcom/build/nsXPComInit.cpp,v <-- nsXPComInit.cpp new revision: 1.143; previous revision: 1.142 done Checking in components/nsICategoryManager.idl; /cvsroot/mozilla/xpcom/components/nsICategoryManager.idl,v <-- nsICategoryManager.idl new revision: 3.15; previous revision: 3.14 done Checking in glue/nsGenericFactory.cpp; /cvsroot/mozilla/xpcom/glue/nsGenericFactory.cpp,v <-- nsGenericFactory.cpp new revision: 1.42; previous revision: 1.41 done Checking in glue/standalone/nsXPCOMGlue.cpp; /cvsroot/mozilla/xpcom/glue/standalone/nsXPCOMGlue.cpp,v <-- nsXPCOMGlue.cpp new revision: 1.2; previous revision: 1.1 done Checking in sample/Makefile.in; /cvsroot/mozilla/xpcom/sample/Makefile.in,v <-- Makefile.in new revision: 1.21; previous revision: 1.20 done Checking in sample/nsSample.cpp; /cvsroot/mozilla/xpcom/sample/nsSample.cpp,v <-- nsSample.cpp new revision: 1.15; previous revision: 1.14 done Checking in sample/nsTestSample.cpp; /cvsroot/mozilla/xpcom/sample/nsTestSample.cpp,v <-- nsTestSample.cpp new revision: 1.11; previous revision: 1.10 done
Status: NEW → RESOLVED
Closed: 23 years ago
Keywords: mozilla1.0.1
Resolution: --- → FIXED
This checkin added a warning in nsXPComInit.cpp about a partly bracketed initializer. I think what that means is that it wants you to change static const PRStaticLinkTable sGlueSymbols[] = { "NS_GetFrozenFunctions", (void (*)())&NS_GetFrozenFunctions } ; to static const PRStaticLinkTable sGlueSymbols[] = { { "NS_GetFrozenFunctions", (void (*)())&NS_GetFrozenFunctions } }; (since it's an array of structs).
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: