diff --git a/src/plugins/coreplugin/actionmanager/actioncontainer.cpp b/src/plugins/coreplugin/actionmanager/actioncontainer.cpp index d6a47d3adb6..30896c45f69 100644 --- a/src/plugins/coreplugin/actionmanager/actioncontainer.cpp +++ b/src/plugins/coreplugin/actionmanager/actioncontainer.cpp @@ -330,7 +330,7 @@ QMenuBar *ActionContainerPrivate::menuBar() const bool ActionContainerPrivate::canAddAction(Command *action) const { - return (action->action() != 0); + return action && action->action(); } void ActionContainerPrivate::scheduleUpdate() diff --git a/src/plugins/texteditor/texteditorplugin.cpp b/src/plugins/texteditor/texteditorplugin.cpp index 1dc6300f827..da996004e4f 100644 --- a/src/plugins/texteditor/texteditorplugin.cpp +++ b/src/plugins/texteditor/texteditorplugin.cpp @@ -163,13 +163,16 @@ bool TextEditorPlugin::initialize(const QStringList &arguments, QString *errorMe m_outlineFactory = new OutlineFactory; addAutoReleasedObject(m_outlineFactory); + // We have to initialize the actions because other plugins that + // depend upon the texteditorplugin expect that actions will be + // registered in the action manager at plugin initialization time. + m_editorFactory->actionHandler()->initializeActions(); + return true; } void TextEditorPlugin::extensionsInitialized() { - m_editorFactory->actionHandler()->initializeActions(); - ExtensionSystem::PluginManager *pluginManager = ExtensionSystem::PluginManager::instance(); m_searchResultWindow = Find::SearchResultWindow::instance();