Przeglądaj źródła

MenuButton: Fix event propagation with dialogs

Ignacio Etcheverry 9 lat temu
rodzic
commit
c45837cf3f
1 zmienionych plików z 4 dodań i 0 usunięć
  1. 4 0
      scene/gui/menu_button.cpp

+ 4 - 0
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();