From 7693d4487618798c7242345fff3615b95786bb0c Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 4 Feb 2009 16:42:55 +0100 Subject: [PATCH 1/2] Fixes: fakevim: fix crash when trying to install on empty editor --- src/plugins/fakevim/fakevimplugin.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/plugins/fakevim/fakevimplugin.cpp b/src/plugins/fakevim/fakevimplugin.cpp index 2f0a3894328..30a8c74d775 100644 --- a/src/plugins/fakevim/fakevimplugin.cpp +++ b/src/plugins/fakevim/fakevimplugin.cpp @@ -180,7 +180,12 @@ bool FakeVimPluginPrivate::initialize() void FakeVimPluginPrivate::installHandler(Core::IEditor *editor) { + if (!editor) + return; + QWidget *widget = editor->widget(); + if (!widget) + return; FakeVimHandler *handler = new FakeVimHandler(widget, widget); From 50661f994d264a51b044ac67c50e4c38f3c6a63d Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 4 Feb 2009 16:48:03 +0100 Subject: [PATCH 2/2] Fixes: fakevim: fix crash when installed on binary editor --- src/plugins/fakevim/fakevimplugin.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/plugins/fakevim/fakevimplugin.cpp b/src/plugins/fakevim/fakevimplugin.cpp index 30a8c74d775..50d45ff8769 100644 --- a/src/plugins/fakevim/fakevimplugin.cpp +++ b/src/plugins/fakevim/fakevimplugin.cpp @@ -186,6 +186,10 @@ void FakeVimPluginPrivate::installHandler(Core::IEditor *editor) QWidget *widget = editor->widget(); if (!widget) return; + + // we can only handle QTextEdit and QPlainTextEdit + if (!qobject_cast(widget) && !qobject_cast(widget)) + return; FakeVimHandler *handler = new FakeVimHandler(widget, widget);