Bug 260276 - Unable to input higher plane characters
Summary: Unable to input higher plane characters
Status: RESOLVED FIXED
Alias: None
Product: konversation
Classification: Applications
Component: inputline (show other bugs)
Version: 1.5-rc1
Platform: openSUSE Linux
: NOR normal
Target Milestone: ---
Assignee: argonel
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-12-16 14:18 UTC by Lars DIECKOW
Modified: 2013-07-04 08:32 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In: 1.5


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Lars DIECKOW 2010-12-16 14:18:11 UTC
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 
Comment 1 Lars DIECKOW 2010-12-16 14:24:48 UTC
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
Comment 2 Eike Hein 2010-12-16 14:36:35 UTC
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.
Comment 3 Daniel Scharrer 2013-06-22 05:06:37 UTC
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.
Comment 4 argonel 2013-06-22 06:15:38 UTC
Unless things don't go according to plan, it'll be fixed in 1.5.
Comment 5 argonel 2013-07-04 08:32:47 UTC
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