From 6ec30376a66b7a0961b8c97776dd53dd40d08dc0 Mon Sep 17 00:00:00 2001 From: chrox Date: Tue, 28 Jun 2016 00:45:01 +0800 Subject: [PATCH] fix two crashes --- frontend/ui/widget/menu.lua | 5 ++++- frontend/ui/widget/textboxwidget.lua | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/frontend/ui/widget/menu.lua b/frontend/ui/widget/menu.lua index 98b64a632..3362d8032 100644 --- a/frontend/ui/widget/menu.lua +++ b/frontend/ui/widget/menu.lua @@ -844,7 +844,10 @@ function Menu:onGotoPage(page) end function Menu:onSelect() - self:onMenuSelect(self.item_table[(self.page-1)*self.perpage+self.selected.y]) + local item = self.item_table[(self.page-1)*self.perpage+self.selected.y] + if item then + self:onMenuSelect(item) + end return true end diff --git a/frontend/ui/widget/textboxwidget.lua b/frontend/ui/widget/textboxwidget.lua index 18e222f70..066117ce2 100644 --- a/frontend/ui/widget/textboxwidget.lua +++ b/frontend/ui/widget/textboxwidget.lua @@ -121,6 +121,7 @@ function TextBoxWidget:_splitCharWidthList() local adjusted_width = cur_line_width repeat adjusted_width = adjusted_width - self.char_width_list[adjusted_idx].width + if adjusted_idx == 1 then break end adjusted_idx = adjusted_idx - 1 c = self.char_width_list[adjusted_idx].char until adjusted_idx > offset and util.isSplitable(c) @@ -134,6 +135,7 @@ function TextBoxWidget:_splitCharWidthList() end end -- endif util.isSplitable(c) end -- endif cur_line_width > self.width + if cur_line_width < 0 then break end self.vertical_string_list[ln] = { text = cur_line_text, offset = offset,