diff --git a/editor/editor_resource_picker.cpp b/editor/editor_resource_picker.cpp index 0064c8bb692..79d033bf033 100644 --- a/editor/editor_resource_picker.cpp +++ b/editor/editor_resource_picker.cpp @@ -183,6 +183,12 @@ void EditorResourcePicker::_resource_saved(Object *p_resource) { } void EditorResourcePicker::_update_menu() { + if (edit_menu && edit_menu->is_visible()) { + edit_button->set_pressed(false); + edit_menu->hide(); + return; + } + _update_menu_items(); Rect2 gt = edit_button->get_screen_rect(); @@ -549,6 +555,12 @@ void EditorResourcePicker::_button_input(const Ref &p_event) { // a valid resource or the Picker is editable, as // there will otherwise be nothing to display. if (edited_resource.is_valid() || is_editable()) { + if (edit_menu && edit_menu->is_visible()) { + edit_button->set_pressed(false); + edit_menu->hide(); + return; + } + _update_menu_items(); Vector2 pos = get_screen_position() + mb->get_position();