diff options
author | SkyJJ <jjchai01@hotmail.com> | 2020-07-06 22:40:21 +0200 |
---|---|---|
committer | SkyJJ <jjchai01@hotmail.com> | 2020-07-06 22:40:52 +0200 |
commit | e9c8bf5e1b61c2bb7f26820b8805c0d69d9d5621 (patch) | |
tree | 3746273c4e44f2059efa1bbaa1a5435f3e06fbe5 /modules/gdscript | |
parent | b5a73c9e5c9ddb45b14424fb787fea67f695a85b (diff) |
Fix GDScriptEditorTranslationParserPlugin instance leak
Diffstat (limited to 'modules/gdscript')
-rw-r--r-- | modules/gdscript/register_types.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/modules/gdscript/register_types.cpp b/modules/gdscript/register_types.cpp index 53e760ffa7..388df63dba 100644 --- a/modules/gdscript/register_types.cpp +++ b/modules/gdscript/register_types.cpp @@ -55,6 +55,8 @@ Ref<ResourceFormatSaverGDScript> resource_saver_gd; #include "language_server/gdscript_language_server.h" #endif // !GDSCRIPT_NO_LSP +Ref<GDScriptEditorTranslationParserPlugin> gdscript_translation_parser_plugin; + class EditorExportGDScript : public EditorExportPlugin { GDCLASS(EditorExportGDScript, EditorExportPlugin); @@ -167,7 +169,6 @@ void register_gdscript_types() { ScriptEditor::register_create_syntax_highlighter_function(GDScriptSyntaxHighlighter::create); EditorNode::add_init_callback(_editor_init); - Ref<GDScriptEditorTranslationParserPlugin> gdscript_translation_parser_plugin; gdscript_translation_parser_plugin.instance(); EditorTranslationParser::get_singleton()->add_parser(gdscript_translation_parser_plugin, EditorTranslationParser::STANDARD); #endif // TOOLS_ENABLED @@ -185,4 +186,9 @@ void unregister_gdscript_types() { ResourceSaver::remove_resource_format_saver(resource_saver_gd); resource_saver_gd.unref(); + +#ifdef TOOLS_ENABLED + EditorTranslationParser::get_singleton()->remove_parser(gdscript_translation_parser_plugin, EditorTranslationParser::STANDARD); + gdscript_translation_parser_plugin.unref(); +#endif // TOOLS_ENABLED } |