mirror of
https://github.com/bryanthaboi/gen1recomp.git
synced 2026-08-17 19:24:01 +02:00
fix(save-editor): clean up module registry and pristine Data state on editor unload so subsequent edits perform safely
This commit is contained in:
@@ -166,6 +166,11 @@ function closeEditor()
|
|||||||
require("src.import.CacheFs").unmountVersion(version)
|
require("src.import.CacheFs").unmountVersion(version)
|
||||||
require("src.core.Data"):unloadGenerated()
|
require("src.core.Data"):unloadGenerated()
|
||||||
end
|
end
|
||||||
|
for k in pairs(package.loaded) do
|
||||||
|
if type(k) == "string" and (k:find("save%-editor") or k == "App" or k == "Kit" or k == "State" or k == "Catalog" or k == "SaveIO" or k == "Ops" or k == "MonOps" or k == "ItemOps" or k == "PadInput" or k == "Gen" or k == "Theme") then
|
||||||
|
package.loaded[k] = nil
|
||||||
|
end
|
||||||
|
end
|
||||||
editorVersion = nil
|
editorVersion = nil
|
||||||
restoreWindow()
|
restoreWindow()
|
||||||
Importer = editorHost
|
Importer = editorHost
|
||||||
|
|||||||
@@ -280,11 +280,14 @@ function Data:unloadGenerated()
|
|||||||
if not pristine[key] then self[key] = nil end
|
if not pristine[key] then self[key] = nil end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
self._pristineKeys = nil
|
||||||
for _, name in ipairs(MODULES) do
|
for _, name in ipairs(MODULES) do
|
||||||
package.loaded["data.generated." .. name] = nil
|
package.loaded["data.generated." .. name] = nil
|
||||||
|
self[name] = nil
|
||||||
end
|
end
|
||||||
for _, name in ipairs(OPTIONAL) do
|
for _, name in ipairs(OPTIONAL) do
|
||||||
package.loaded["data.generated." .. name] = nil
|
package.loaded["data.generated." .. name] = nil
|
||||||
|
self[name] = nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user