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

Ivan Čukić <ivan.cu...@kde.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ivan.cu...@kde.org

--- Comment #11 from Ivan Čukić <ivan.cu...@kde.org> ---
I also can confirm this, master, kate and kdevelop on Plasma.

The problematic line is emulatedcommandbar.cpp:310 where qApp->notify is
called. It recurses into ... which calls handleKeyPress member function again,
... and so on.

When the call to notify is removed, and function returns false in the if body,
this works as it should.
(just followed the "Ideally, instead of doing this, we would..." part of the
comment written above the if)

Another dirty fix that works is to check the value of
m_suspendEditEventFiltering before setting it to true. I don't know the
internals of KateVi to know whether this is the ok thing to do, it will allow
recursion level 1 and cut anything deeper.

     if (m_edit->isVisible())
     {
+        if (m_suspendEditEventFiltering) return false;
         m_suspendEditEventFiltering = true;
         QKeyEvent keyEventCopy(keyEvent->type(), keyEvent->key(),
keyEvent->modifiers(), keyEvent->text(), keyEvent->isAutoRepeat(),
keyEvent->count());
         qApp->notify(m_edit, &keyEventCopy);

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to