diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index 955f3f60626..adb77c7c0d5 100644 --- a/src/plugins/fakevim/fakevimhandler.cpp +++ b/src/plugins/fakevim/fakevimhandler.cpp @@ -4139,6 +4139,8 @@ EventResult FakeVimHandler::Private::handleCommandMode(const Input &input) // Process input for a sub-mode. if (input.isEscape()) { handled = handleEscape(); + } else if (m_wasReadOnly) { + return EventUnhandled; } else if (g.subsubmode != NoSubSubMode) { handled = handleCommandSubSubMode(input); } else if (g.submode == NoSubMode) { diff --git a/src/plugins/vcsbase/vcsbaseeditor.cpp b/src/plugins/vcsbase/vcsbaseeditor.cpp index c6b5ed8fbe0..885b0c7cd14 100644 --- a/src/plugins/vcsbase/vcsbaseeditor.cpp +++ b/src/plugins/vcsbase/vcsbaseeditor.cpp @@ -157,7 +157,8 @@ VcsBaseEditor::VcsBaseEditor() void VcsBaseEditor::finalizeInitialization() { - QTC_CHECK(qobject_cast(editorWidget())); + QTC_ASSERT(qobject_cast(editorWidget()), return); + editorWidget()->setReadOnly(true); } // ----------- VcsBaseEditorPrivate