Bug 268771

Summary: Dolphin does not handle opening files with the unicode space character in them..
Product: [Unmaintained] kdelibs Reporter: FF777 <yasuna>
Component: generalAssignee: kdelibs bugs <kdelibs-bugs>
Status: RESOLVED DUPLICATE    
Severity: normal CC: adaptee, arai.masao, aria, frank78ac, karl.r.ernst, perso, yasuna
Priority: NOR    
Version: 4.9   
Target Milestone: ---   
Platform: Debian testing   
OS: Linux   
See Also: http://bugs.debian.org/613691
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: do not use QChar::isSpace()

Description FF777 2011-03-17 19:05:16 UTC
Version:           unspecified (using KDE 4.4.5) 
OS:                Linux

Dolphin will handle normal spaces of course..
So if you open a file called "abc def.txt" it passes the whole file name to kwrite (or whatever you have associated)..

And dolphin handles opening file names with unicode characters properly, except for the big unicode space character that looks like this: " "

I have a lot of files with japanese file names, and every time it contains that space, dolphin can't open it properly..

Reproducible: Always

Steps to Reproduce:
Open a file name with " " character in it, such as "abc def.txt"..

Actual Results:  
What actually happens is that it treats the unicode space like a file separator and opens multiple files, none of which are the actual file that needs to be opened..

For example, opening "abc def.txt" will open 2 instances of kwrite, one that opens "abc" and one that opens "def.txt"..

Or, opening "band album song.ogg" will try to open 3 different instances of a media player, none of which actually have the correct file name passed to them..

Expected Results:  
It SHOULD pass the whole entire file name to the program (kwrite, smplayer, et cetera)..

Typing it in command line works fine like in konsole..
So it has to be dolphin parsing the file names wrong..
Comment 1 Frank Reininghaus 2011-03-17 20:52:27 UTC
Thanks for the bug report, I can confirm in master.

The bug is most likely not in Dolphin itself, but in kdelibs (KRun), but this needs further investigation.
Comment 2 Jekyll Wu 2011-12-19 02:28:52 UTC
"kioclient exec 'abc def.txt' "" gets the same problem. So it is not a dolphin specific problem :(

I think KLauncher::requestStart() is where the thing starts to go wrong. It calls KRun::processDesktopExec(), which splits that given filename into two filenames.
Comment 3 Jekyll Wu 2012-07-29 08:00:04 UTC
*** Bug 304226 has been marked as a duplicate of this bug. ***
Comment 4 Jekyll Wu 2012-09-12 17:26:52 UTC
*** Bug 306690 has been marked as a duplicate of this bug. ***
Comment 5 arai 2013-09-12 07:47:34 UTC
Created attachment 82294 [details]
do not use QChar::isSpace()
Comment 6 arai 2013-09-12 07:51:53 UTC
Sorry, I forgot to write comments for above attachment.

This bug may be caused by the usage of QChar::IsSpace() in KShell::splitArgs.
The Qchar::isSpace is true not only for ' ' but also characters in Separator_* categories.
The " " is included in  Separator_* categories. So a filename with " " is split into two filename in KShell::splitArgs.
Comment 7 Frank Reininghaus 2013-09-12 13:14:44 UTC
Thanks for the patch! Could you file a review request at https://git.reviewboard.kde.org/dashboard/ for the group "kdelibs", please? It's unlikely that the people who can judge the code will see the patch here.
Comment 8 Christoph Feck 2013-09-20 22:29:15 UTC
Arai, did you find time yet to file a review request? If you need help, please ask on kde-devel mailing list.
Comment 9 ariasuni 2015-10-03 14:30:17 UTC
I still have this problem with Dolphin version 15.08.1 (using: KDE Frameworks 5.14.0 and Qt 5.5.0).
Comment 10 Frank Reininghaus 2015-10-04 17:50:41 UTC
This has been fixed today for version 5.15 of the KIO framework.

*** This bug has been marked as a duplicate of bug 345140 ***
Comment 11 ariasuni 2015-10-04 18:28:04 UTC
Thanks for the news. :)