|
@@ -3324,6 +3324,13 @@ void EditorNode::_exit_editor(int p_exit_code) {
|
|
|
// Dim the editor window while it's quitting to make it clearer that it's busy.
|
|
|
dim_editor(true);
|
|
|
|
|
|
+ // Unload addons before quitting to allow cleanup.
|
|
|
+ for (const KeyValue<String, EditorPlugin *> &E : addon_name_to_plugin) {
|
|
|
+ print_verbose(vformat("Unloading addon: %s", E.key));
|
|
|
+ remove_editor_plugin(E.value, false);
|
|
|
+ memdelete(E.value);
|
|
|
+ }
|
|
|
+
|
|
|
get_tree()->quit(p_exit_code);
|
|
|
}
|
|
|
|