summaryrefslogtreecommitdiff
path: root/modules/gdnative/pluginscript
diff options
context:
space:
mode:
authorIvan Hilaire <ivhilaire@gmail.com>2019-07-19 22:13:44 +0300
committerIvan Hilaire <ivhilaire@gmail.com>2019-07-19 22:13:44 +0300
commit5d88f746770ac46506fbb69b04993af47cef6c10 (patch)
tree997a609051947b03e7d392690a0dc1aaf41704e6 /modules/gdnative/pluginscript
parentc317a3ce16a35b21d85b250a0e810526bb89db38 (diff)
Remove added pluginscript resource format loaders and savers on cleanup
Properly release added resource loader and save references. Otherwise PluginScript API may cause "ObjectDB Instances still exist!" warnings and segmentation faults on exit.
Diffstat (limited to 'modules/gdnative/pluginscript')
-rw-r--r--modules/gdnative/pluginscript/register_types.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/modules/gdnative/pluginscript/register_types.cpp b/modules/gdnative/pluginscript/register_types.cpp
index b7ab887e11..3b46f33afb 100644
--- a/modules/gdnative/pluginscript/register_types.cpp
+++ b/modules/gdnative/pluginscript/register_types.cpp
@@ -114,6 +114,8 @@ void unregister_pluginscript_types() {
for (List<PluginScriptLanguage *>::Element *e = pluginscript_languages.front(); e; e = e->next()) {
PluginScriptLanguage *language = e->get();
ScriptServer::unregister_language(language);
+ ResourceLoader::remove_resource_format_loader(language->get_resource_loader());
+ ResourceSaver::remove_resource_format_saver(language->get_resource_saver());
memdelete(language);
}
}