summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-09-05 01:24:41 -0500
committerJeff Carr <[email protected]>2025-09-05 01:24:41 -0500
commit25a074d02de74fd01dd3a761bb29192521d51b3d (patch)
treeb82d54e7f6e5db79b8d6470f439c51b247f1f9e3
parent9b1e7f102e80e32e31706d51dd271d028e6d9555 (diff)
-rw-r--r--init.go14
1 files changed, 14 insertions, 0 deletions
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()