Closed
Bug 220846
Opened 22 years ago
Closed 22 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•22 years ago
|
||
triaging.
Status: NEW → ASSIGNED
Target Milestone: --- → Thunderbird0.4
Assignee | ||
Comment 2•22 years ago
|
||
*** Bug 226717 has been marked as a duplicate of this bug. ***
Assignee | ||
Comment 3•22 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•22 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•22 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•22 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•22 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•22 years ago
|
Attachment #136755 -
Flags: superreview?(bienvenu)
Assignee | ||
Comment 8•22 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•22 years ago
|
Attachment #136755 -
Flags: superreview?(bienvenu) → superreview+
Reporter | ||
Comment 9•22 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•22 years ago
|
||
fix checked in
Status: ASSIGNED → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
Comment 11•21 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•21 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
•