Closed
Bug 220846
Opened 21 years ago
Closed 21 years ago
Change of Window Configuration affect on Character Coding
Categories
(Thunderbird :: Mail Window Front End, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
Thunderbird0.4
People
(Reporter: gorky, Assigned: mscott)
References
Details
Attachments
(1 file)
1008 bytes,
patch
|
Bienvenu
:
superreview+
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.5) Gecko/20030925 Firebird/0.7 Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.5) Gecko/20030924 Thunderbird/0.3 After change of window configuration letters with diacritical marks in messages are displaing with errors (it displays "ż","ę", "ś", "ź", "ć" etc.). This happends only when you change window configuration while one of the messsages is in preview pane. If you change window configuration when you're on start page everything is OK. When you restart Thunderbird things go back to normal (letters are displaing correctly). I'll show you how to reproduce it in polish language letters example Reproducible: Always Steps to Reproduce: 1. Set Central European (ISO-8859-2) Character Coding in Drafts Folder properties, and check "apply to all messages in the folder" 2. Write new message using Polish language letters(ą,ć,ę,ł,ń,�,ś,ż,ź), set Central European (ISO-8859-2) Character Coding and save it 3. Go to drafts folder and view the message 4. Go to General in Options and change window configuration, click OK I saw this first in 2003-08-29 build, and it appears in every build from then. I don't know if this is in earlier builds (I just don't check it). I'm using Thunderbird on default theme, without any extensions.
Assignee | ||
Comment 1•21 years ago
|
||
triaging.
Status: NEW → ASSIGNED
Target Milestone: --- → Thunderbird0.4
Assignee | ||
Comment 2•21 years ago
|
||
*** Bug 226717 has been marked as a duplicate of this bug. ***
Assignee | ||
Comment 3•21 years ago
|
||
the act of changing the layout, causes us to get a new docshell for the message pane which we then re-root back into our document. For some reason, the new docshell no longer handles charsets correctly.
Assignee | ||
Comment 4•21 years ago
|
||
I have not figured out why the docshell loses charset information after switching panes yet. This will make a good release note item for 0.4
Assignee | ||
Comment 5•21 years ago
|
||
Here's something weird: After changing the layout, I notice the problem that we don't show non ascii characters correctly anymore in the message body docshell. If I manually change the character encoding from whatever it really is over to "UTF-8" via the View / Character Encoding menu, then the message is restored to its previous state.
Reporter | ||
Comment 6•21 years ago
|
||
#5 Well, i've checked it on message with ISO 8859-2 character coding, and this override don't work for me. (checked on WinXP, Tb 0.4RC1 Repin 1 and Respin 2)
Assignee | ||
Comment 7•21 years ago
|
||
This fixes the problem. By clearing mCurrentDisplayCharset when we reset the docshell on the message pane, we then allow nsMessenger::SetDisplayCharset to later reset the character set on the docshell. There is one catch to this patch. The message you are currently viewing still shows up wrong in the message pane. But any other message loaded or reloaded in that window renders correctly. This is because when we reset the charset on this new docshell, we don't have a content viewer to also set the charset on until after we've loaded at least one message in it.
Assignee | ||
Updated•21 years ago
|
Attachment #136755 -
Flags: superreview?(bienvenu)
Assignee | ||
Comment 8•21 years ago
|
||
The patch makes more sense if you see the definition of SetDisplayCharset. NS_IMETHODIMP nsMessenger::SetDisplayCharset(const char * aCharset) { if (mCurrentDisplayCharset.Equals(aCharset)) return NS_OK; // libmime always converts to UTF-8 (both HTML and XML) if (mDocShell) { nsCOMPtr<nsIContentViewer> cv; mDocShell->GetContentViewer(getter_AddRefs(cv)); if (cv) { nsCOMPtr<nsIMarkupDocumentViewer> muDV = do_QueryInterface(cv); if (muDV) muDV->SetForceCharacterSet(nsDependentCString(aCharset)); mCurrentDisplayCharset = aCharset; } } return NS_OK; }
Updated•21 years ago
|
Attachment #136755 -
Flags: superreview?(bienvenu) → superreview+
Reporter | ||
Comment 9•21 years ago
|
||
Umm. Let me correct my self. After change to UTF-8 message is still displaying with errors, but this is different type of errors. See this: http://www.volvox.neostrada.pl/inne/tb-bug.gif When i load other message with ISO 8859-2 character coding, it's displaying with "old" errors (middle area in the picture).
Assignee | ||
Comment 10•21 years ago
|
||
fix checked in
Status: ASSIGNED → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
Comment 11•20 years ago
|
||
The bug is here in Mozilla Thunderbird 0.5 (20040207). Should it be reopened? Changing the layout (view->layout) displays gibberish intead of a message with intl. chars until the message is reloaded. Reproducible: yup. Steps to reproduce: 0. (make sure View->Layout->Classic View checked) 1. Get a message with intl. (cyrillic) chars. 2. Click View->Layout->Wide View Actual results: you see gibberish, not the message Expected results: you see the message, not gibberish. Additional notes: 1. buggy when switching: classic<->wide; wide<->vertical. [1] ok for: classic<->vertical. [2] 2. Buggy for both HTML & plain text. 3. Just noticed: the mail start page goes away when switching layouts. (same, it goes away when switching [1], not [2]) 4. example: Äîðîãèå äðóçüÿ! becomes à?àÎá?àÎàÃàÈàÅ àÄá?á?àÇá?á?!
Comment 12•20 years ago
|
||
Bug still exists in 20040226 (win32) build. This should be reopened.
You need to log in
before you can comment on or make changes to this bug.
Description
•