Package: src:kde4libs
Version: 4:4.4.5-2+squeeze2
Severity: important
Tags: upstream

When using kate (or other programs) marked text gets lost when switching
between different windows (when an IME such as ibus is used).  It would
be nice if the next point release could include the attached backported
patch to fix this issue.

I have been using the patch on several computers for several months
without any problems.

Regards,
Ansgar

References:
 - upstream bug report: <https://bugs.kde.org/show_bug.cgi?id=248558>
 - upstream patch: 
<http://websvn.kde.org/branches/KDE/4.5/kdelibs/kate/view/kateviewinternal.cpp?r1=1199457&r2=1199456&pathrev=1199457&view=patch>
Bug: https://bugs.kde.org/show_bug.cgi?id=248558
Origin: backport, 
http://websvn.kde.org/branches/KDE/4.5/kdelibs/kate/view/kateviewinternal.cpp?r1=1199457&r2=1199456&pathrev=1199457&view=patch

--- kde4libs-4.4.5.orig/kate/view/kateviewinternal.cpp
+++ kde4libs-4.4.5/kate/view/kateviewinternal.cpp
@@ -3781,9 +3781,6 @@
 
   //kDebug( 13030 ) << "Event: cursor" << m_cursor << "commit" << 
e->commitString() << "preedit" << e->preeditString() << "replacement start" << 
e->replacementStart() << "length" << e->replacementLength();
 
-  if ( m_view->selection() )
-    m_view->removeSelectedText();
-
   bool createdPreedit = false;
   if (!m_imPreeditRange) {
     createdPreedit = true;
@@ -3797,6 +3794,8 @@
   }
 
   if (!e->commitString().isEmpty() || e->replacementLength()) {
+    m_view->removeSelectedText();
+
     KTextEditor::Range preeditRange = *m_imPreeditRange;
 
     KTextEditor::Cursor start(m_imPreeditRange->start().line(), 
m_imPreeditRange->start().column() + e->replacementStart());

Reply via email to