diff options
| author | Jeff Carr <[email protected]> | 2024-02-09 09:30:50 -0600 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2024-02-09 09:30:50 -0600 |
| commit | 0f9b7ec2afdac1b5bbe4605851a3fdb1bb4b66b5 (patch) | |
| tree | 04469001f51712848b705f2cf30fd64641b1f0bd | |
| parent | bd24754c82f77d06dba31c32c3acdd0ed1adebe9 (diff) | |
gocui panic loads nocui
Signed-off-by: Jeff Carr <[email protected]>
| -rw-r--r-- | addNode.go | 2 | ||||
| -rw-r--r-- | init.go | 7 | ||||
| -rw-r--r-- | structs.go | 14 |
3 files changed, 15 insertions, 8 deletions
@@ -16,7 +16,7 @@ func (me *TreeInfo) AddNode(a *widget.Action) *Node { // n.Strings = make(map[string]int) // slices.Reverse(lines) // dropdown strings - n.ddStrings = make([]string, 0) + n.ddStrings = make([]string, 0) for _, s := range a.State.Strings { n.ddStrings = append(n.ddStrings, s) } @@ -2,6 +2,7 @@ package tree import ( "errors" + "runtime/debug" "sync" "go.wit.com/log" @@ -13,6 +14,11 @@ var muAction sync.Mutex // TODO: add checks for nil function pointers func (me *TreeInfo) newAction(a widget.Action) { n := me.treeRoot.FindWidgetId(a.WidgetId) + if n == nil { + log.Log(TREEWARN, "tree.FindWidgetId() n == nil", a.WidgetId, a.WidgetType, a.ActionType) + log.Log(TREEWARN, "tree.FindWidgetId() n == nil", a.State.CurrentS) + log.Log(TREEWARN, "tree.FindWidgetId() n == nil. This should not happen. Bug in gui or tree package?") + } switch a.ActionType { case widget.Add: if n == nil { @@ -70,6 +76,7 @@ func (me *TreeInfo) catchActionChannel() { log.Log(TREEWARN, "YAHOOOO Recovered in tree.catchActionChannel()", r) log.Log(TREEWARN, "YAHOOOO Recovered in tree.catchActionChannel() Plugin:", me.PluginName) me.SendToolkitPanic() + debug.PrintStack() me.ToolkitClose() } }() @@ -24,13 +24,13 @@ type TreeInfo struct { // NodeI interface{} // ActionFromChannel func(widget.Action) - NodeAction func(*Node, widget.ActionType) - Add func(*Node) - AddText func(*Node, string) - SetText func(*Node, string) - SetTitle func(*Node, string) - SetLabel func(*Node, string) - SetChecked func(*Node, bool) + NodeAction func(*Node, widget.ActionType) + Add func(*Node) + AddText func(*Node, string) + SetText func(*Node, string) + SetTitle func(*Node, string) + SetLabel func(*Node, string) + SetChecked func(*Node, bool) ToolkitClose func() } |
