Closed Bug 288850 Opened 19 years ago Closed 11 years ago

For non-mail products, don't process 'mailedit' charsets

Categories

(Core :: Internationalization, defect)

defect
Not set
minor

Tracking

()

RESOLVED DUPLICATE of bug 943252

People

(Reporter: jshin1987, Assigned: jshin1987)

References

Details

(Keywords: assertion, intl)

Attachments

(1 file)

While testing my debug build of firefox, I got an assertion in nsCharsetMenu.cpp
because mailedit charset pref. is not available in non-mailnews products. The
part of the code to process mailedit charset needs to be excluded from the
compilation for non-mailnews products. 

Scott, are MOZ_MAIL_NEWS and MOZ_THUNDERBIRD the right macro to check mailnews/tb?
I realized that it's not so straightforward as I thought. nsCharsetMenu is an
inplementation of nsICurrentCharsetListener and the conditional compilation of
the part of the interface and its implementation means that iid and cid don't
uniquely identify the interface and the implementation. Giving different iid
and cid don't solve the problem either because the extension mechanism(?) would
probably break. I need some advice from xpcom gurus..
copied from bug 323714 (report by Gavin Sharp)

Firefox's preferences dialog notifies "charsetmenu-selected" with the data
"other":
http://bonsai.mozilla.org/cvsblame.cgi?file=mozilla/browser/components/preferences/fonts.js&rev=1.5&mark=141#136
but firefox.js doesn't include the kMaileditPrefKey
("intl.charsetmenu.mailedit") pref, so this assertion in InitMailEditMenu is
hit opening the "Advanced" button in Tools->Options->Content->Fonts and Colors
for the first time after startup. I don't actually understand what the
InitOthers() and InitMailEditMenu() methods actually do.
http://bonsai.mozilla.org/cvsblame.cgi?file=mozilla/xpfe/components/intl/nsCharsetMenu.cpp&rev=1.40&mark=442,443#415

Should Firefox be sending "browser" instead? This would make it call
"InitBrowserMenu", which would let it get one step further, but it would still
fail at:
http://bonsai.mozilla.org/cvsblame.cgi?file=mozilla/xpfe/components/intl/nsCharsetMenu.cpp&rev=1.40&mark=898#865
since firefox.js doesn't include kBrowserCachePrefKey
("intl.charsetmenu.browser.cache").

Maybe these asserts should just be replaced with rv checks?
*** Bug 323714 has been marked as a duplicate of this bug. ***
(In reply to comment #2)
> Should Firefox be sending "browser" instead? This would make it call
> "InitBrowserMenu", which would let it get one step further, but it would still
> fail at:
> http://bonsai.mozilla.org/cvsblame.cgi?file=mozilla/xpfe/components/intl/nsCharsetMenu.cpp&rev=1.40&mark=898#865
> since firefox.js doesn't include kBrowserCachePrefKey
> ("intl.charsetmenu.browser.cache").

I was wrong about this, it won't fail, since "intl.charsetmenu.browser.cache" is in all.js.
(though I'm still not sure that that's the right thing to do)
Keywords: assertion
QA Contact: amyy → i18n
Marking as a duplicate of a newer bug, because the newer one has a more appropriate patch for m-c.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: