Procházet zdrojové kódy

Fix crash when changing node type from PopMenu to ItemList

Clement C před 2 roky
rodič
revize
999a1fffec
1 změnil soubory, kde provedl 7 přidání a 2 odebrání
  1. 7 2
      scene/gui/popup_menu.cpp

+ 7 - 2
scene/gui/popup_menu.cpp

@@ -2051,8 +2051,13 @@ bool PopupMenu::_get(const StringName &p_name, Variant &r_ret) const {
 			r_ret = get_item_icon(item_index);
 			return true;
 		} else if (property == "checkable") {
-			r_ret = this->items[item_index].checkable_type;
-			return true;
+			if (item_index >= 0 && item_index < items.size()) {
+				r_ret = items[item_index].checkable_type;
+				return true;
+			} else {
+				r_ret = Item::CHECKABLE_TYPE_NONE;
+				ERR_FAIL_V(true);
+			}
 		} else if (property == "checked") {
 			r_ret = is_item_checked(item_index);
 			return true;