diff options
-rw-r--r-- | src/lib/corelib/language/projectresolver.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/lib/corelib/language/projectresolver.cpp b/src/lib/corelib/language/projectresolver.cpp index 68430d175..d7ae11aaf 100644 --- a/src/lib/corelib/language/projectresolver.cpp +++ b/src/lib/corelib/language/projectresolver.cpp @@ -1586,12 +1586,15 @@ void gatherDependencies(ResolvedProduct *product, DependencyMap &dependencies) { if (dependencies.contains(product)) return; - Set<ResolvedProduct *> &productDeps = dependencies[product]; + // Hold locally because the QHash references aren't stable in Qt6. + Set<ResolvedProduct *> productDeps = dependencies[product]; for (const ResolvedProductPtr &dep : qAsConst(product->dependencies)) { productDeps << dep.get(); gatherDependencies(dep.get(), dependencies); productDeps += dependencies.value(dep.get()); } + // Now that we gathered the dependencies, put them in the map. + dependencies[product] = std::move(productDeps); } |