Browse Source

Merge pull request #26279 from ericrybick/master

Fix Editor crash after disabling plugin that used "forward_spatial_gui_input" #26124
Rémi Verschelde 6 years ago
parent
commit
8930347c48
2 changed files with 6 additions and 0 deletions
  1. 5 0
      editor/editor_node.cpp
  2. 1 0
      editor/editor_node.h

+ 5 - 0
editor/editor_node.cpp

@@ -2542,6 +2542,7 @@ void EditorNode::remove_editor_plugin(EditorPlugin *p_editor, bool p_config_chan
 	singleton->editor_plugins_over->get_plugins_list().erase(p_editor);
 	singleton->remove_child(p_editor);
 	singleton->editor_data.remove_editor_plugin(p_editor);
+	singleton->get_editor_plugins_force_input_forwarding()->remove_plugin(p_editor);
 }
 
 void EditorNode::_update_addon_config() {
@@ -6059,6 +6060,10 @@ void EditorPluginList::add_plugin(EditorPlugin *p_plugin) {
 	plugins_list.push_back(p_plugin);
 }
 
+void EditorPluginList::remove_plugin(EditorPlugin *p_plugin) {
+	plugins_list.erase(p_plugin);
+}
+
 bool EditorPluginList::empty() {
 	return plugins_list.empty();
 }

+ 1 - 0
editor/editor_node.h

@@ -837,6 +837,7 @@ public:
 	void forward_spatial_draw_over_viewport(Control *p_overlay);
 	void forward_spatial_force_draw_over_viewport(Control *p_overlay);
 	void add_plugin(EditorPlugin *p_plugin);
+	void remove_plugin(EditorPlugin *p_plugin);
 	void clear();
 	bool empty();