Răsfoiți Sursa

close all parent PopupMenus fix

Alexander Holland 10 ani în urmă
părinte
comite
cff2509ecd
1 a modificat fișierele cu 9 adăugiri și 1 ștergeri
  1. 9 1
      scene/gui/popup_menu.cpp

+ 9 - 1
scene/gui/popup_menu.cpp

@@ -738,10 +738,18 @@ int PopupMenu::find_item_by_accelerator(uint32_t p_accel) const {
 
 
 void PopupMenu::activate_item(int p_item) {
 void PopupMenu::activate_item(int p_item) {
 
 
-
 	ERR_FAIL_INDEX(p_item,items.size());
 	ERR_FAIL_INDEX(p_item,items.size());
 	ERR_FAIL_COND(items[p_item].separator);
 	ERR_FAIL_COND(items[p_item].separator);
 	emit_signal("item_pressed",items[p_item].ID);
 	emit_signal("item_pressed",items[p_item].ID);
+
+	//hide all parent PopupMenue's
+	Node *next = get_parent();
+	PopupMenu *pop = next->cast_to<PopupMenu>();
+	while (pop) {
+		pop->hide();
+		next = next->get_parent();
+		pop = next->cast_to<PopupMenu>();
+	}
 	hide();
 	hide();
 
 
 }
 }