Closed Bug 243169 Opened 21 years ago Closed 21 years ago

nsStaticComponent.h should be standalone friendly

Categories

(Core :: XPCOM, defect)

x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: mpgritti, Assigned: dougt)

References

Details

Attachments

(1 file, 2 obsolete files)

Right now it cause the inclusion of nsString: nsStaticComponent.h -> nsComponentLoader.h -> nsHashtable.h -> nsString.h So it's not possible to do a static build of code using nsEmbedString. We seem to only need the nsGetModuleProc definition from nsComponentLoader.h. Maybe it would be possible to move it in another file ?
More precisely the problem is that you cant include nsStaticComponent.h and use embed string in the same file. It would be probably possible to work around the problem in gtkmozembed using a separate file or something, though I think it would be much more convenient to cleanup these headers if possible.
Attached patch possible fix (obsolete) — Splinter Review
Comment on attachment 148453 [details] [diff] [review] possible fix Does something like this make sense?
Attachment #148453 - Flags: review?(dougt)
Attachment #148453 - Flags: review?(dougt)
Attached patch fix missing stdio inclusion (obsolete) — Splinter Review
Attachment #148453 - Attachment is obsolete: true
Comment on attachment 148565 [details] [diff] [review] fix missing stdio inclusion For gtkmozembed the alternative is to add an Init function to EmbedComponents.cpp (there embed strings are not included) and do NSGetStaticModuleInfo = gtk_getModuleInfo; in it instead of in EmbedPrivate.cpp. Not sure what I like better, I guess it depend if we expect to hit the same problem somewhere else in the future. Up to you.
Attachment #148565 - Flags: superreview?(dougt)
Attachment #148565 - Flags: review?(darin)
Comment on attachment 148565 [details] [diff] [review] fix missing stdio inclusion looks fine.
Attachment #148565 - Flags: superreview?(dougt) → superreview+
Comment on attachment 148565 [details] [diff] [review] fix missing stdio inclusion r=darin kill extra newline at the end of nsModule.h shouldn't we put @status FROZEN in this file? and shouldn't it be exported to the SDK? (add to SDK_HEADERS in the Makefile?) or is there some reason not to include this in the gecko sdk?
Attachment #148565 - Flags: review?(darin) → review+
I don't think that the current static component loader is sufficiently settled to freeze it. In particular, we're probably going to need to support multi-tier static components (from libxul and client apps).
Attachment #148565 - Attachment is obsolete: true
fixed-on-trunk
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: