summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <remi@verschelde.fr>2016-07-19 07:36:25 +0200
committerGitHub <noreply@github.com>2016-07-19 07:36:25 +0200
commit569541bafcefb45f5fd94e54f5aeba5d8c25ae33 (patch)
tree1b07d0692aa2cce433c773020d841e0410f395b6
parent1f519e7ebb836bdf52bc47e6873c5374fb673bdf (diff)
parentc45837cf3f39eaaf70b6662a036e1c76bba6c6ee (diff)
Merge pull request #5790 from neikeq/pr-issue-1149
MenuButton: Fix event propagation with dialogs
-rw-r--r--scene/gui/menu_button.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/scene/gui/menu_button.cpp b/scene/gui/menu_button.cpp
index d6e084765d..725f1ddf17 100644
--- a/scene/gui/menu_button.cpp
+++ b/scene/gui/menu_button.cpp
@@ -28,6 +28,7 @@
/*************************************************************************/
#include "menu_button.h"
#include "os/keyboard.h"
+#include "scene/main/viewport.h"
void MenuButton::_unhandled_key_input(InputEvent p_event) {
@@ -38,6 +39,9 @@ void MenuButton::_unhandled_key_input(InputEvent p_event) {
if (!get_parent() || !is_visible() || is_disabled())
return;
+ if (get_viewport()->get_modal_stack_top() && !get_viewport()->get_modal_stack_top()->is_a_parent_of(this))
+ return; //ignore because of modal window
+
if (popup->activate_item_by_event(p_event))
accept_event();