diff --git a/src/plugins/fakevim/fakevimplugin.cpp b/src/plugins/fakevim/fakevimplugin.cpp index 2f0a389432874ef598a95eb0c5d57dc4fe2d3afd..50d45ff8769f1731c67317ca938dca7be727a9fd 100644 --- a/src/plugins/fakevim/fakevimplugin.cpp +++ b/src/plugins/fakevim/fakevimplugin.cpp @@ -180,7 +180,16 @@ bool FakeVimPluginPrivate::initialize() void FakeVimPluginPrivate::installHandler(Core::IEditor *editor) { + if (!editor) + return; + QWidget *widget = editor->widget(); + if (!widget) + return; + + // we can only handle QTextEdit and QPlainTextEdit + if (!qobject_cast<QTextEdit *>(widget) && !qobject_cast<QPlainTextEdit *>(widget)) + return; FakeVimHandler *handler = new FakeVimHandler(widget, widget);