From 9dcb63da53a3dd1b641e1a6da9b65dac53a49b5c Mon Sep 17 00:00:00 2001 From: myk002 Date: Wed, 20 Jul 2022 15:36:17 -0700 Subject: [PATCH] don't bork on no frame, set cursor to end of text --- library/lua/gui/widgets.lua | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/library/lua/gui/widgets.lua b/library/lua/gui/widgets.lua index aea62bf87..5765992af 100644 --- a/library/lua/gui/widgets.lua +++ b/library/lua/gui/widgets.lua @@ -121,12 +121,12 @@ ResizingPanel = defclass(ResizingPanel, Panel) -- adjust our frame dimensions according to positions and sizes of our subviews function ResizingPanel:postUpdateLayout(frame_body) local w, h = 0, 0 - for _,subview in ipairs(self.subviews) do - if subview.visible then - w = math.max(w, (subview.frame.l or 0) + - (subview.frame.w or frame_body.width)) - h = math.max(h, (subview.frame.t or 0) + - (subview.frame.h or frame_body.height)) + for _,s in ipairs(self.subviews) do + if s.visible then + w = math.max(w, (s.frame and s.frame.l or 0) + + (s.frame and s.frame.w or frame_body.width)) + h = math.max(h, (s.frame and s.frame.t or 0) + + (s.frame and s.frame.h or frame_body.height)) end end if not self.frame then self.frame = {} end @@ -191,8 +191,8 @@ EditField.ATTRS{ } function EditField:preinit(init_table) - local frame = init_table.frame or {} - frame.h = frame.h or 1 + init_table.frame = init_table.frame or {} + init_table.frame.h = init_table.frame.h or 1 end function EditField:init() @@ -202,7 +202,7 @@ function EditField:init() end self.start_pos = 1 - self.cursor = 1 + self.cursor = #self.text + 1 self:addviews{HotkeyLabel{frame={t=0,l=0}, key=self.key,