Closed
Bug 246051
Opened 20 years ago
Closed 20 years ago
Hang when drag attachment to desktop when the file name has an accented char
Categories
(MailNews Core :: Attachments, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: matafagafo, Assigned: sspitzer)
References
Details
(Keywords: regression, Whiteboard: fixed-aviary1.0)
Attachments
(1 file)
1.23 KB,
patch
|
mscott
:
superreview+
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040608 Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040608 When try to drag a file attached in a mail to disk that have a name with ascent, for example: ó.txt the following message appear: "Unable to save attachment. Please check your file name and try again later." Well, the message have a OK bottom, but they don't work. the only way is to close entire Mozilla with "Task Manager" Reproducible: Always Steps to Reproduce: 1. create a file like ó.txt 2. attach this file in new mail and send it to yourself 3. receive the mail, 4. try drag the attach to a desktop Actual Results: The message "Unable to save attachment. Please check your file name and try again later." appears and entire Mozzila freeze Expected Results: Save the file in disk. My Windows XP is in Portuguese Brazilian "pt_BR" language.
Comment 1•20 years ago
|
||
Reproduced with Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8a2) Gecko/20040604 Tried it with 1.6 Final, and could drag the same attachment using that version with no problem.
Severity: normal → critical
Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: regression
OS: Windows XP → Windows 2000
Updated•20 years ago
|
Summary: Hang when drag a attach from mail to disk when the file name has a ascent → Hang when drag attachment to desktop when the file name has an accented char
Assignee | ||
Comment 2•20 years ago
|
||
two bad things are going on here: the hang, and the inability to save the attachment. for the inability to save the attachment, I can see some problems while debugging nsSaveMsgListener::OnStartRequest() for a file like "foo.txt", I end up with this for m_fileSpec "C:\DOCUME~1\SETH\LOCALS~1\foo.txt" for file names like "ó.txt", I end up with "C:\DOCUME~1\SETH\LOCALS~1\", and that causes me to fail to open the stream.
Status: NEW → ASSIGNED
Assignee | ||
Comment 3•20 years ago
|
||
ok, it looks like the problem starts in nsMessenger::SaveAttachmentToFolder() when we call ConvertAndSanitizeFileName() with "ó.txt" this fails silently: nsCAutoString unescapedName(displayName); /* we need to convert the UTF-8 fileName to platform specific character set. The display name is in UTF-8 because it has been escaped from JS */ NS_UnescapeURL(unescapedName); NS_ConvertUTF8toUCS2 ucs2Str(unescapedName); for displayName of "ó.txt", ucs2Str will be "".
Assignee | ||
Comment 4•20 years ago
|
||
I think we're just missing a call to encodeURIComponent() in the js.
Assignee | ||
Comment 5•20 years ago
|
||
of course, a debug build asserts, but I didn't see it since I use XPCOM_DEBUG_BREAK=warn from my console: ###!!! ASSERTION: not a UTF8 string: 'Error', file ../../dist/include/string\nsU TF8Utils.h, line 151 ###!!! ASSERTION: Input wasn't UTF8 or incorrect length was calculated: 'Error', file c:/mozilla/trees/trunk/mozilla/xpcom/string/src/nsReadableUtils.cpp, line 262 Opening file LOCALS~1 failed testing a patch now....
Assignee | ||
Comment 6•20 years ago
|
||
Updated•20 years ago
|
Attachment #153640 -
Flags: superreview+
Assignee | ||
Comment 7•20 years ago
|
||
I've landed that fix to seamonkey trunk, tbird trunk, and aviary 1.0 branch. for some background, see #225695 and #83803.
Assignee | ||
Comment 8•20 years ago
|
||
note, if we fail some other way, we would still get this dialog that is hard to dismiss. note for me, tbird didn't hang, but I couldn't use the mouse to dismiss the dialog. I had to use the keyboard. I'll log a spin off bug about it.
Comment 9•20 years ago
|
||
The other way to fix this would have been to make the parameters UTF8String, AString or wstring so that Unicode can be correctly passed through to the C++.
Comment 10•20 years ago
|
||
In Thunderbird, it is copied to the place on 1 class of the folder which Droped. For example, if it Drop at a home(~/), it will be copied to a users(/Users). Mac OS X 10.3.4 aviary 1.0 branch build. version 0.7+ (20040718)
Comment 11•20 years ago
|
||
additional comment: When Japanese is contained in an attached file name, an error occurs in Drop.
Assignee | ||
Comment 12•20 years ago
|
||
> The other way to fix this would have been to make the parameters UTF8String, > AString or wstring so that Unicode can be correctly passed through to the C++. neil, are you saying that would be a better fix or just another way of doing it? Doing it that way would involve changing the following methods on the nsIMessenger interface: openAttachment() saveAttachment() saveAllAttachments() saveAttachmentToFolder() and the callers and the implementations. I fixed it the way I did it because: 1) it followed the changes that jshin made. 1.9 jshin%mailaps.org 2003-12-03 13:52 bug 225695 : follow-up to bug 44272. tree-wide sweep to replace escape/unescape() with en|decodeURI(Component). part 2(mail/mailnews) of 3. r=neil, sr=bienvenu, a=asa 2) ...and it involved fewer changes (so it is lower risk)
Assignee | ||
Comment 13•20 years ago
|
||
neil explained over aim what he meant: "I know jshin wanted to try and make mailnews use unicode-safe strings throughout, so at some point I assume he's going to fix up apis such as those that take ASCII strings and thus currently need extra escapes/unescapes or other workarounds for the issues."
Comment 14•20 years ago
|
||
*** Bug 252471 has been marked as a duplicate of this bug. ***
Comment 15•20 years ago
|
||
*** Bug 252630 has been marked as a duplicate of this bug. ***
Updated•20 years ago
|
Product: MailNews → Core
Updated•16 years ago
|
Product: Core → MailNews Core
You need to log in
before you can comment on or make changes to this bug.
Description
•