kcmdlineargs input decoding
Joseph Wenninger
jowenn at kde.org
Thu Mar 5 00:32:49 GMT 2009
Hi!
Does this fix https://bugs.kde.org/show_bug.cgi?id=175907 also ?
I'm just catching up with the core-devel list and have no time to test it
myself.
Regards
Joseph
On Wednesday 25 February 2009 18:50:38 David Faure wrote:
> On Wednesday 25 February 2009, Nick Shaforostoff wrote:
> > Hi. Opening files with non-ASCII names via cmd line in any KDE app
> > isn't possible on my system,
> > as args are misencoded due to QString::fromLocal8Bit() returning
> > different data before and after QApplication creation.
> >
> > Attached patch fixes the issue by delaying conversion and moving it to
> > KCmdLineArgs::arg(),
> > as a side affect it switches KCmdLineArgs args processing to use
> > QByteArray internaly,
> > which is a little bit more memory efficient.
>
> Very interesting. Good patch IMHO.
>
> FWIW the attached patch fixes the issue too (qt-copy-trunk required,
> unpatched rc1 doesn't have the necessary exported symbol).
>
> @@ -263,8 +264,10 @@
> mStdargs = 0;
>
> // Text codec.
> + setlocale(LC_ALL, ""); // need to initialize "System" codec, i.e.
> iconv + extern Q_CORE_EXPORT bool qt_locale_initialized;
> + qt_locale_initialized = true;
> codec = QTextCodec::codecForLocale();
> - setlocale(LC_ALL, ""); // need to initialize "System" codec, i.e.
> iconv
>
> // Qt options
> //FIXME: Check if other options are specific to Qt/X11
>
> But if you found a way to delay all the locale8bit conversions, that's even
> better. Please commit (to trunk).
--
"People's characters are strengthened through struggle against
difficulties; they are weakened by comfort." (Old Chinese adage)
KATE developer - Joseph Wenninger <jowenn at kde.org>
More information about the kde-core-devel
mailing list