diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index db4e001253dd555204f424984dc2f328be2ee166..336059cf71b042601b660f6c0eba423f498f6342 100644 --- a/src/plugins/fakevim/fakevimhandler.cpp +++ b/src/plugins/fakevim/fakevimhandler.cpp @@ -2100,9 +2100,6 @@ void FakeVimHandler::Private::init() void FakeVimHandler::Private::focus() { - if (g.inFakeVim) - return; - enterFakeVim(); stopIncrementalFind(); @@ -2135,6 +2132,8 @@ void FakeVimHandler::Private::enterFakeVim() m_cursor = EDITOR(textCursor()); g.inFakeVim = true; + removeEventFilter(); + updateFirstVisibleLine(); importSelection(); @@ -2186,6 +2185,8 @@ void FakeVimHandler::Private::leaveFakeVim(bool needUpdate) scrollToLine(firstVisibleLine()); updateScrollOffset(); } + + installEventFilter(); } g.inFakeVim = false;