diff options
author | Eric Rybicki <info@ericrybicki.com> | 2019-02-25 16:49:06 +0100 |
---|---|---|
committer | Eric Rybicki <info@ericrybicki.com> | 2019-02-25 17:11:04 +0100 |
commit | 747b9ac8702c30bb6d5aa87b5470bd58a3a26f94 (patch) | |
tree | 229f485d9580af2098194dd773ab3e88b7d114ee /editor | |
parent | f74d8b23b0f910a12d4e139ae6b814aad94ed8d4 (diff) |
Fix editor crash after disabling plugin that used forward_spatial_gui_input
Fixes #26124.
Diffstat (limited to 'editor')
-rw-r--r-- | editor/editor_node.cpp | 5 | ||||
-rw-r--r-- | editor/editor_node.h | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index 8c9974404e..9d9c5b6cc8 100644 --- a/editor/editor_node.cpp +++ b/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(); } diff --git a/editor/editor_node.h b/editor/editor_node.h index 46a65b56fa..433441c29e 100644 --- a/editor/editor_node.h +++ b/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(); |