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;
   }
 

Reply via email to