[Konversation-devel] [Bug 217592] mouse cursor disappear when moved to topic, user list or channel tabs in conversation

Eike Hein hein at kde.org
Mon Sep 20 12:40:20 CEST 2010


https://bugs.kde.org/show_bug.cgi?id=217592





--- Comment #15 from Eike Hein <hein kde org>  2010-09-20 12:40:18 ---
commit 0a5bc983c817c24783b9578b0ed236bc3a9c3645
Author: Eike Hein <hein at kde.org>
Date:   Mon Sep 20 12:35:44 2010 +0200

    Work around bug 217592 (the infamous cursor disappearing act).

    The underlying ongoings are that there are two widgets involved,
    the KTextEdit and it's viewport(), both of which KCursor installs
    an event filter on, which on keypress events sets a blank cursor
    on the KTextEdit. On a FocusOut event, such as occurs when the
    paste warning KMessageBox is spawned and assumes focus, KCursor
    then calls unsetCursor() on it. Qt's behavior however seems to
    have changed in such a way that unsetCursor() doesn't affect the
    KTextEdit's viewport(), which QTextEdit originally set the I-Beam
    cursor on. So we do it manually here. But in the end either the
    Qt behavioral change has to be addressed, or KCursor has to be
    equipped to deal with it, since this obviously can happen in all
    KDE apps (and does, as seen in bug 231177).
    CCBUG:217592

diff --git a/src/viewer/ircinput.cpp b/src/viewer/ircinput.cpp
index 05653a8..a282e63 100644
--- a/src/viewer/ircinput.cpp
+++ b/src/viewer/ircinput.cpp
@@ -501,6 +501,9 @@ bool IRCInput::checkPaste(QString& text)
         QString bytesString = i18np("1 byte", "%1 bytes", text.length());
         QString linesString = i18np("1 line", "%1 lines", lines+1);

+        // Work around bug 217592.
+        viewport()->setCursor(Qt::IBeamCursor);
+
         doPaste=KMessageBox::warningYesNoCancel
             (this,
             i18nc(

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the Konversation-devel mailing list