aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs
diff options
context:
space:
mode:
authorDavid Schulz <david.schulz@qt.io>2024-05-02 15:11:33 +0200
committerDavid Schulz <david.schulz@qt.io>2024-05-02 13:37:35 +0000
commitb7dff8b636cf9984f99245ee9c24ccf855e3ecea (patch)
tree6ab66dbca2614431ec028eb7e0f902e02da434ea /src/libs
parent8af94171814e3920e72d09b0f43b77e87d0ab866 (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.cpp12
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;
+ }
}
}
}