Parcourir la source

Small PopupMenu changes

neikeq il y a 10 ans
Parent
commit
ae65dfa4ec
1 fichiers modifiés avec 8 ajouts et 2 suppressions
  1. 8 2
      scene/gui/popup_menu.cpp

+ 8 - 2
scene/gui/popup_menu.cpp

@@ -323,11 +323,14 @@ void PopupMenu::_input_event(const InputEvent &p_event) {
 						invalidated_click=false;
 						break;
 					}
-					if (over<0 || items[over].separator || items[over].disabled) {
+					if (over<0) {
 						hide();
 						break; //non-activable
 					}
 
+					if (items[over].separator || items[over].disabled)
+						break;
+
 					if (items[over].submenu!="") {
 
 						_activate_submenu(over);
@@ -362,8 +365,11 @@ void PopupMenu::_input_event(const InputEvent &p_event) {
 			int over=_get_mouse_over(Point2(m.x,m.y));
 			int id = (over<0 || items[over].separator || items[over].disabled)?-1:items[over].ID;
 
-			if (id<0)
+			if (id<0) {
+				mouse_over=-1;
+				update();
 				break;
+			}
 
 			if (items[over].submenu!="" && submenu_over!=over) {
 				submenu_over=over;