summaryrefslogtreecommitdiff
path: root/scene/gui
diff options
context:
space:
mode:
authorneikeq <ignalfonsore@gmail.com>2015-11-05 15:22:50 +0100
committerneikeq <ignalfonsore@gmail.com>2015-11-13 22:03:17 +0100
commitae65dfa4ec82dd59f7aaa0b4fa48ba28f878b72c (patch)
tree4faf33a4a63f6c7fce74f77ccb330a590f47431f /scene/gui
parentd123c89c5802777e02402108d9271ed2f29368fe (diff)
Small PopupMenu changes
Diffstat (limited to 'scene/gui')
-rw-r--r--scene/gui/popup_menu.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/scene/gui/popup_menu.cpp b/scene/gui/popup_menu.cpp
index 6c21ea639f..95d4503162 100644
--- a/scene/gui/popup_menu.cpp
+++ b/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;