diff --git a/init.go b/init.go index e307262..453d162 100644 --- a/init.go +++ b/init.go @@ -49,7 +49,11 @@ func (me *TreeInfo) newAction(a widget.Action) { case widget.Checked: switch n.WidgetType { case widget.Checkbox: - me.SetChecked(n, a.State.Checked) + if me.SetChecked == nil { + log.Log(TREEWARN, "SetChecked() == nil in toolkit", me.PluginName) + } else { + me.SetChecked(n, a.State.Checked) + } default: log.Log(TREEWARN, "SetChecked() not supported on widget", n.WidgetType, n.String()) } @@ -61,9 +65,10 @@ func (me *TreeInfo) newAction(a widget.Action) { func (me *TreeInfo) catchActionChannel() { defer func() { if r := recover(); r != nil { - log.Log(TREEWARN, me.PluginName, "tree YAHOOOO Recovered in simpleStdin()", r) + log.Log(TREEWARN, "YAHOOOO Recovered in tree.catchActionChannel()", r) + log.Log(TREEWARN, "YAHOOOO Recovered in tree.catchActionChannel() Plugin:", me.PluginName) me.SendToolkitPanic() - panic(-1) + me.ToolkitClose() } }() log.Log(TREE, "catchActionChannel() START") diff --git a/structs.go b/structs.go index f96158d..cfd21db 100644 --- a/structs.go +++ b/structs.go @@ -31,6 +31,7 @@ type TreeInfo struct { SetTitle func(*Node, string) SetLabel func(*Node, string) SetChecked func(*Node, bool) + ToolkitClose func() } type Node struct {