From b7dff8b636cf9984f99245ee9c24ccf855e3ecea Mon Sep 17 00:00:00 2001 From: David Schulz Date: Thu, 2 May 2024 15:11:33 +0200 Subject: [PATCH] ExtensionSystem: fix crash on git interactive rebase Luas LuaPluginSpec::plugin() returns a nullptr so we have to check the usages of PluginSpec::plugin before using it. Change-Id: If4fa926814e5a418e446d6970bb46060feec5664 Reviewed-by: Eike Ziller Reviewed-by: Marcus Tillmanns --- src/libs/extensionsystem/pluginmanager.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/libs/extensionsystem/pluginmanager.cpp b/src/libs/extensionsystem/pluginmanager.cpp index 87ea5914b83..85dbf629837 100644 --- a/src/libs/extensionsystem/pluginmanager.cpp +++ b/src/libs/extensionsystem/pluginmanager.cpp @@ -641,11 +641,13 @@ void PluginManager::remoteArguments(const QString &serializedArgument, QObject * for (const PluginSpec *ps : plugins()) { if (ps->state() == PluginSpec::Running) { const QStringList pluginOptions = subList(serializedArguments, QLatin1Char(':') + ps->name()); - QObject *socketParent = ps->plugin()->remoteCommand(pluginOptions, workingDirectory, - arguments); - if (socketParent && socket) { - socket->setParent(socketParent); - socket = nullptr; + if (IPlugin *plugin = ps->plugin()) { + QObject *socketParent + = plugin->remoteCommand(pluginOptions, workingDirectory, arguments); + if (socketParent && socket) { + socket->setParent(socketParent); + socket = nullptr; + } } } }