From 2e0508ca26649b1b1da7d671f90486cbcdd02549 Mon Sep 17 00:00:00 2001 From: hluk <hluk@email.cz> Date: Tue, 10 Sep 2013 18:39:05 +0200 Subject: [PATCH] FakeVim: Handle deleted editor widget in insert mode Change-Id: I7e6585872552a9b4a5bd126e7d01a8f9ea18339a Reviewed-by: hjk <hjk121@nokiamail.com> --- src/plugins/fakevim/fakevimhandler.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index 782333cc9f9..9c800a89588 100644 --- a/src/plugins/fakevim/fakevimhandler.cpp +++ b/src/plugins/fakevim/fakevimhandler.cpp @@ -4519,6 +4519,9 @@ EventResult FakeVimHandler::Private::handleInsertOrReplaceMode(const Input &inpu else handleReplaceMode(input); + if (!m_textedit && !m_plaintextedit) + return EventHandled; + if (!isInsertMode() || m_breakEditBlock || position() < m_insertState.pos1 || position() > m_insertState.pos2) { commitInsertState(); @@ -6969,7 +6972,7 @@ bool FakeVimHandler::Private::handleInsertInEditor(const Input &input) static_cast<Qt::KeyboardModifiers>(input.modifiers()), input.text()); setAnchor(); if (!passEventToEditor(event)) - return false; + return !m_textedit && !m_plaintextedit; // Mark event as handled if it has destroyed editor. endEditBlock(); @@ -6985,6 +6988,8 @@ bool FakeVimHandler::Private::passEventToEditor(QEvent &event) EDITOR(setOverwriteMode(false)); emit q->requestSetBlockSelection(false); bool accepted = QApplication::sendEvent(editor(), &event); + if (!m_textedit && !m_plaintextedit) + return false; if (isVisualBlockMode()) emit q->requestSetBlockSelection(true); updateCursorShape(); -- GitLab