Package: kate Version: 4:4.3.4-1 Severity: normal Tags: patch Using input method on Kate to enter Japanese text, Kate discards it. So we cannot enter Japanese in KDE4.4 application using kate part.
This bug was reported in <http://bugs.kde.org/show_bug.cgi?id=206455>. And attached patch was applied in trunk of KDE svn. -- System Information: Debian Release: squeeze/sid APT prefers unstable APT policy: (500, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 2.6.32-3-amd64 (SMP w/2 CPU cores) Locale: LANG=ja_JP.UTF-8, LC_CTYPE=ja_JP.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to ja_JP.UTF8) Shell: /bin/sh linked to /bin/dash Versions of packages kate depends on: ii kdebase-runtime 4:4.3.4-2 runtime components from the offici ii kdelibs5 4:4.3.4-3 core libraries for all KDE 4 appli ii libc6 2.10.2-7 Embedded GNU C Library: Shared lib ii libplasma3 4:4.3.4-3 library for the KDE 4 Plasma deskt ii libqt4-dbus 4:4.6.2-4 Qt 4 D-Bus module ii libqt4-qt3support 4:4.6.2-4 Qt 3 compatibility library for Qt ii libqt4-xml 4:4.6.2-4 Qt 4 XML module ii libqtcore4 4:4.6.2-4 Qt 4 core module ii libqtgui4 4:4.6.2-4 Qt 4 GUI module ii libstdc++6 4.4.3-9 The GNU Standard C++ Library v3 kate recommends no packages. Versions of packages kate suggests: ii aspell 0.60.6-4 GNU Aspell spell-checker ii ispell 3.1.20.0-7 International Ispell (an interacti pn khelpcenter4 <none> (no description available) ii konsole 4:4.3.4-1 X terminal emulator for KDE 4 -- no debconf information
--- kate/view/kateviewinternal.cpp.orig 2010-03-21 20:57:09.000000000 +0900 +++ kate/view/kateviewinternal.cpp 2010-03-21 21:23:25.000000000 +0900 @@ -3778,13 +3778,6 @@ return; } - // if the input method event is text that should be inserted, call KateDocument::typeChars() with - // the text. that method will handle the input and take care of overwrite mode, etc. - if ( e->commitString().length() > 0 && doc()->typeChars( m_view, e->commitString() ) ) { - e->accept(); - return; - } - //kDebug( 13030 ) << "Event: cursor" << m_cursor << "commit" << e->commitString() << "preedit" << e->preeditString() << "replacement start" << e->replacementStart() << "length" << e->replacementLength(); if ( m_view->selection() ) @@ -3812,7 +3805,9 @@ if (start != removeEnd) doc()->removeText(KTextEditor::Range(start, removeEnd)); if (!e->commitString().isEmpty()) - doc()->insertText(start, e->commitString()); + // if the input method event is text that should be inserted, call KateDocument::typeChars() + // with the text. that method will handle the input and take care of overwrite mode, etc. + doc()->typeChars(m_view, e->commitString()); doc()->editEnd(); // Revert to the same range as above @@ -3838,6 +3833,7 @@ renderer()->setDrawCaret(false); renderer()->setCaretOverrideColor(QColor()); + e->accept(); return; }