Red Hat Bugzilla – Bug 461373
KDE BUG#167982: Focus switch causes selected text to be deleted in Kate.
Last modified: 2008-10-04 04:41:14 EDT
Created attachment 315960 [details]
Stack trace of the text deletion event.
Description of problem:
On a KDE4.1 system with Qt SCIM bridge installed and configured,
selecting a region of text in Kate or KWrite and then switching
to another application and back causes the text to be deleted.
Version-Release number of selected component (if applicable):
Fedora 9 + all updates + currently pending KDE4.1 update
On an appropriately configured system, 100% predictable results.
I debugged the problem to produce a stack trace, and made a
patch for scim-bridge-qt that fixes it for me. Note that this
is the first time I ever had to fix anything in Qt/SCIM, so
my analysis might be wrong:
The bug is caused by preedit string update events that were sent by
scim-bridge during the focus change sequence. Problems:
1) QInputContext::setFocusWidget() is called before focus_out()
2) Preedit string hide event is sent even if it wasn't displayed.
As a result, when the focus is switched in, the _target_ Kate widget
receives a preedit event, and trashes its selection.
Created attachment 315961 [details]
A stopgap patch to scim-bridge-qt
Fixed in scim-bridge-0_4_15-7. Thanks.
*** This bug has been marked as a duplicate of bug 464397 ***