diff options
author | David Schulz <david.schulz@qt.io> | 2024-05-02 15:11:33 +0200 |
---|---|---|
committer | David Schulz <david.schulz@qt.io> | 2024-05-02 13:37:35 +0000 |
commit | b7dff8b636cf9984f99245ee9c24ccf855e3ecea (patch) | |
tree | 6ab66dbca2614431ec028eb7e0f902e02da434ea /src/libs | |
parent | 8af94171814e3920e72d09b0f43b77e87d0ab866 (diff) |
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 <eike.ziller@qt.io>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Diffstat (limited to 'src/libs')
-rw-r--r-- | src/libs/extensionsystem/pluginmanager.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/libs/extensionsystem/pluginmanager.cpp b/src/libs/extensionsystem/pluginmanager.cpp index 87ea5914b8..85dbf62983 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; + } } } } |