Version: 1.3.1 (using KDE 4.5.3) OS: Linux Any character with Unicode code point greater than 0x10000 is corrupted when input in Konversation. Does not happen with other KDE apps, despite the rendering errors (see http://bugreports.qt.nokia.com/browse/QTBUG-11747) a higher plane character stays one character and normally survives a copy-paste round-trip, but not in Konversation. Reproducible: Always Steps to Reproduce: Paste the character
Grrr, POS Bugzilla cut my submission in half. Delivering what's missing: Steps to Reproduce: Paste the character U+10463 (e.g. from <http://www.fileformat.info/info/unicode/block/shavian/utf8test.htm>) What actually happens: �� two Unicode replacement characters appear in input line What should happen: character U+10463 appears in input line
This is currently intentional as a workaround around a fatal bug in QString that afflicted Qt 4.0-4.7.0 and together with a particular behavior in another component of the Linux desktop stack could be used for a trivially accomplished denial of service attack (crashing the app). Due to various details ultimately only a very heavy-handed filter on all ways for data into and out of the app was a viable protective measure for our users. Now that the Qt bug is fixed we may drop that measure for the next release in the case that Konversation is built against a sufficiently new version of Qt.
What would it take to get this fixed? My distribution (Gentoo) doesn't even have Qt 4.7 anymore, so it feels increasigly stupid to limit the Unicode charset just to workaround a bug that has been fixed for a long time.
Unless things don't go according to plan, it'll be fixed in 1.5.
Git commit 3d5b5d2d383bcca5421cc67ff63789b76039e0d9 by eli mackenzie. Committed on 04/07/2013 at 06:56. Pushed by argonel into branch '1.5'. Lift unicode restictions Older versions of Qt did not properly detect bad UTF-8 sequences, but as we no longer support those versions, we now only strip the code points that shouldn't make it onto the network anyway. FIXED-IN: 1.5 M +20 -2 src/common.cpp http://commits.kde.org/konversation/3d5b5d2d383bcca5421cc67ff63789b76039e0d9