From b19ab945acec594a17e8a11cec53eec17ad4c4a5 Mon Sep 17 00:00:00 2001 From: Juan Linietsky Date: Tue, 30 Jun 2020 14:01:10 -0300 Subject: Make dialogs exclusive by default, fixes #37732 Also fix on set_visible, not creating exclusive children as it should. --- scene/gui/dialogs.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'scene/gui/dialogs.cpp') diff --git a/scene/gui/dialogs.cpp b/scene/gui/dialogs.cpp index c6897fc684..bacc65c7bf 100644 --- a/scene/gui/dialogs.cpp +++ b/scene/gui/dialogs.cpp @@ -51,7 +51,9 @@ void AcceptDialog::_input_from_window(const Ref &p_event) { } void AcceptDialog::_parent_focused() { - _cancel_pressed(); + if (!is_exclusive()) { + _cancel_pressed(); + } } void AcceptDialog::_notification(int p_what) { @@ -295,6 +297,7 @@ AcceptDialog::AcceptDialog() { set_wrap_controls(true); set_visible(false); set_transient(true); + set_exclusive(true); bg = memnew(Panel); add_child(bg); -- cgit v1.2.3