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