fix: crash when a script menu update renders selected index unavailable (#591)

Co-authored-by: Christoph Heinrich <christoph.heinrich@student.tugraz.at>
This commit is contained in:
Eva
2023-07-26 23:20:09 +02:00
committed by GitHub
parent 72982e29b3
commit e783ad1f13

View File

@@ -186,6 +186,10 @@ function Menu:update(data)
local old_menu = self.by_id[menu.is_root and '__root__' or menu.id]
if old_menu then table_assign(menu, old_menu, {'selected_index', 'scroll_y', 'fling'}) end
if menu.selected_index then
menu.selected_index = #menu.items > 0 and clamp(1, menu.selected_index, #menu.items) or nil
end
new_all[#new_all + 1] = menu
new_by_id[menu.is_root and '__root__' or menu.id] = menu
end