summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClement C <clement.cook@protonmail.com>2023-05-08 19:42:22 +0200
committerClement C <clement.cook@protonmail.com>2023-05-12 23:29:52 +0200
commit999a1fffec85628c7eb1cf2e9808bf7e0b44f26c (patch)
treee8dd24a1d89ffdbff5e8e112f099fdd4f668521c
parent964a5353dbf5fc0dca4c4b7b9cfa5631dd5ab568 (diff)
downloadredot-engine-999a1fffec85628c7eb1cf2e9808bf7e0b44f26c.tar.gz
Fix crash when changing node type from PopMenu to ItemList
-rw-r--r--scene/gui/popup_menu.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/scene/gui/popup_menu.cpp b/scene/gui/popup_menu.cpp
index 2e6c6dc4bd..41025090ba 100644
--- a/scene/gui/popup_menu.cpp
+++ b/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;