From 97ebd272538c23672c1f925ec4484cdbdb4235d3 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Thu, 22 Feb 2024 18:22:10 +0100 Subject: QmlJsPluginDumper: Ensure we don't take results from the canceled futures Amends 91c1c244a1256b2dc9979edb1a3ce83c28ef5636 Fixes: QTCREATORBUG-30424 Change-Id: Ie0bddb79362945a040c6cb95edf37fbec3ed064d Reviewed-by: hjk Reviewed-by: --- src/libs/qmljs/qmljsplugindumper.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/libs/qmljs/qmljsplugindumper.cpp b/src/libs/qmljs/qmljsplugindumper.cpp index b2591fbf0a..36f2cd802d 100644 --- a/src/libs/qmljs/qmljsplugindumper.cpp +++ b/src/libs/qmljs/qmljsplugindumper.cpp @@ -569,6 +569,9 @@ void PluginDumper::loadQmltypesFile(const FilePaths &qmltypesFilePaths, Utils::onFinished(loadQmlTypeDescription(qmltypesFilePaths), this, [this, qmltypesFilePaths, libraryPath, libraryInfo] (const QFuture &typesFuture) { + if (typesFuture.isCanceled() || typesFuture.resultCount() == 0) + return; + PluginDumper::QmlTypeDescription typesResult = typesFuture.result(); if (!typesResult.dependencies.isEmpty()) { @@ -576,6 +579,9 @@ void PluginDumper::loadQmltypesFile(const FilePaths &qmltypesFilePaths, QSharedPointer>()), this, [typesResult, libraryInfo, libraryPath, this] (const QFuture &loadFuture) { + if (loadFuture.isCanceled() || loadFuture.resultCount() == 0) + return; + PluginDumper::DependencyInfo loadResult = loadFuture.result(); QStringList errors = typesResult.errors; QStringList warnings = typesResult.errors; -- cgit v1.2.3