From 0dce279a896c604054f835ac921faa20af26b610 Mon Sep 17 00:00:00 2001 From: Alexander Neumann Date: Thu, 25 Jul 2019 15:12:04 +0200 Subject: ui: improve error handling Signed-off-by: Alexander Neumann Signed-off-by: Jason A. Donenfeld --- ui/updatepage.go | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) (limited to 'ui/updatepage.go') diff --git a/ui/updatepage.go b/ui/updatepage.go index 95657798..9e73781f 100644 --- a/ui/updatepage.go +++ b/ui/updatepage.go @@ -19,12 +19,16 @@ type UpdatePage struct { } func NewUpdatePage() (*UpdatePage, error) { - up := &UpdatePage{} var err error + var disposables walk.Disposables + defer disposables.Treat() + + up := &UpdatePage{} if up.TabPage, err = walk.NewTabPage(); err != nil { return nil, err } + disposables.Add(up) up.SetTitle("An Update is Available!") @@ -33,18 +37,30 @@ func NewUpdatePage() (*UpdatePage, error) { up.SetLayout(walk.NewVBoxLayout()) - instructions, _ := walk.NewTextLabel(up) + instructions, err := walk.NewTextLabel(up) + if err != nil { + return nil, err + } instructions.SetText("An update to WireGuard is available. It is highly advisable to update without delay.") instructions.SetMinMaxSize(walk.Size{1, 0}, walk.Size{0, 0}) - status, _ := walk.NewTextLabel(up) + status, err := walk.NewTextLabel(up) + if err != nil { + return nil, err + } status.SetText("Status: Waiting for user") status.SetMinMaxSize(walk.Size{1, 0}, walk.Size{0, 0}) - bar, _ := walk.NewProgressBar(up) + bar, err := walk.NewProgressBar(up) + if err != nil { + return nil, err + } bar.SetVisible(false) - button, _ := walk.NewPushButton(up) + button, err := walk.NewPushButton(up) + if err != nil { + return nil, err + } updateIcon, _ := loadSystemIcon("shell32", 46, 32) button.SetImage(updateIcon) button.SetText("Update Now") @@ -113,5 +129,7 @@ func NewUpdatePage() (*UpdatePage, error) { }) }) + disposables.Spare() + return up, nil } -- cgit v1.2.3-59-g8ed1b