From 25a074d02de74fd01dd3a761bb29192521d51b3d Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Fri, 5 Sep 2025 01:24:41 -0500 Subject: [PATCH] still doesn't trap panic --- init.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/init.go b/init.go index d49c425..a2a3198 100644 --- a/init.go +++ b/init.go @@ -4,6 +4,7 @@ package main import ( "runtime/debug" "sync" + "time" "go.wit.com/log" "go.wit.com/toolkits/tree" @@ -123,10 +124,23 @@ func guiMain() { return } }() + + // TODO: THIS IS THE PROBLEM ui.Main(func() { // this is a bad hack for now. // a better way would be to spawn ui.Main on the first actual window // that is supposed to be displayed + if r := recover(); r != nil { + log.Log(WARN, "YAHOO andlabs GUI recovered in guiMain()") + log.Log(WARN, "Stack trace:") + debug.PrintStack() + log.Log(WARN, "Recovered from panic:", r) + log.Log(WARN, "andlabs GUI recovered in guiMain()") + log.Log(WARN, "YAHOO andlabs GUI recovered in guiMain()") + me.myTree.SendToolkitPanic() + return + } + time.Sleep(time.Second) placeholderUI() me.myTree.InitOK()