History

Merge pull request #2252 from ada-tv/fix/entity-script-destruction

Fix entity script destruction

Julian Groß committed 5 months ago

Commit 66c97cb2 parents 01ca0c8 81eb8919 files · +69 −64Browse files

Showing the changes to libraries/script-engine/src/ScriptManager.cpp (1 of 9 files). Show all

Unified · Split

libraries/script-engine/src/ScriptManager.cpp+4−4
@@ -2665,11 +2665,10 @@ void ScriptManager::refreshFileScript(const EntityItemID& entityID, const QStrin · 2664 unmodified lines
26652665 return;
26662666 }
26672667
2668− static bool recurseGuard = false;
2669− if (recurseGuard) {
2668+ if (_refreshRecurseGuard) {
26702669 return;
26712670 }
2672− recurseGuard = true;
2671+ _refreshRecurseGuard = true;
26732672
26742673 EntityScriptDetails details;
26752674 {
@@ -2682,10 +2681,11 @@ void ScriptManager::refreshFileScript(const EntityItemID& entityID, const QStrin · 6 unmodified lines
26822681 auto lastModified = QFileInfo(filePath).lastModified().toMSecsSinceEpoch();
26832682 if (lastModified > details.lastModified) {
26842683 scriptInfoMessage("Reloading modified script " + details.scriptText, filePath, -1);
2684+ unloadEntityScript(entityID, details.scriptText, true);
26852685 loadEntityScript(entityID, details.scriptText, true);
26862686 }
26872687 }
2688− recurseGuard = false;
2688+ _refreshRecurseGuard = false;
26892689 }
26902690
26912691 // Execute operation in the appropriate context for (the possibly empty) entityID.