diff options
| author | Clement C <clement.cook@protonmail.com> | 2023-05-08 19:42:22 +0200 |
|---|---|---|
| committer | Clement C <clement.cook@protonmail.com> | 2023-05-12 23:29:52 +0200 |
| commit | 999a1fffec85628c7eb1cf2e9808bf7e0b44f26c (patch) | |
| tree | e8dd24a1d89ffdbff5e8e112f099fdd4f668521c | |
| parent | 964a5353dbf5fc0dca4c4b7b9cfa5631dd5ab568 (diff) | |
| download | redot-engine-999a1fffec85628c7eb1cf2e9808bf7e0b44f26c.tar.gz | |
Fix crash when changing node type from PopMenu to ItemList
| -rw-r--r-- | scene/gui/popup_menu.cpp | 9 |
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; |
