From 7cb281ba3796323f686772b355cc11dc79d5e6c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Davy=20H=C3=A9lard?= Date: Thu, 16 Apr 2026 13:58:13 +0200 Subject: [PATCH] Fix missing globally used resources when unloading a scene that uses these resources --- GDJS/GDJS/IDE/ExporterHelper.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/GDJS/GDJS/IDE/ExporterHelper.cpp b/GDJS/GDJS/IDE/ExporterHelper.cpp index fa8e1c580ba5..cd918eeaa2b4 100644 --- a/GDJS/GDJS/IDE/ExporterHelper.cpp +++ b/GDJS/GDJS/IDE/ExporterHelper.cpp @@ -574,11 +574,15 @@ void ExporterHelper::StripAndSerializeProjectData( } std::unordered_map> scenesUsedResources; - for (std::size_t layoutIndex = 0; - layoutIndex < project.GetLayoutsCount(); layoutIndex++) { + for (std::size_t layoutIndex = 0; layoutIndex < project.GetLayoutsCount(); + layoutIndex++) { auto &layout = project.GetLayout(layoutIndex); - scenesUsedResources[layout.GetName()] = - gd::SceneResourcesFinder::FindSceneResources(project, layout); + auto sceneUsedResources = gd::SceneResourcesFinder::FindSceneResources( + project, layout); + for (auto &&resourceName : projectUsedResources) { + sceneUsedResources.erase(resourceName); + } + scenesUsedResources[layout.GetName()] = sceneUsedResources; } std::unordered_map>