From 747b9ac8702c30bb6d5aa87b5470bd58a3a26f94 Mon Sep 17 00:00:00 2001 From: Eric Rybicki Date: Mon, 25 Feb 2019 16:49:06 +0100 Subject: [PATCH] Fix editor crash after disabling plugin that used forward_spatial_gui_input Fixes #26124. --- editor/editor_node.cpp | 5 +++++ editor/editor_node.h | 1 + 2 files changed, 6 insertions(+) diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index 8c9974404e9..9d9c5b6cc87 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 46a65b56fa8..433441c29eb 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();