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:
@@ -186,6 +186,10 @@ function Menu:update(data)
|
|||||||
local old_menu = self.by_id[menu.is_root and '__root__' or menu.id]
|
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 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_all[#new_all + 1] = menu
|
||||||
new_by_id[menu.is_root and '__root__' or menu.id] = menu
|
new_by_id[menu.is_root and '__root__' or menu.id] = menu
|
||||||
end
|
end
|
||||||
|
Reference in New Issue
Block a user