From 5fa215983b3ddd340971c62351019bcc8d1f8b8c Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Mon, 10 Mar 2025 04:36:55 -0500 Subject: attempt clean plugin exits --- plugin.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'plugin.go') diff --git a/plugin.go b/plugin.go index 396829d..1f3bc98 100644 --- a/plugin.go +++ b/plugin.go @@ -333,6 +333,22 @@ func (n *Node) ListToolkits() { } } +// cleanly close all toolkits +func (n *Node) Close() { + Exit() +} + +func Exit() { + log.Log(PLUG, "Closing all toolkits") + for _, plug := range allPlugins { + log.Log(PLUG, "Exit() found plugin", plug.name) + var a widget.Action + a.ActionType = widget.ToolkitClose + plug.pluginChan <- a + } + allPlugins = nil +} + func (n *Node) CloseToolkit(name string) bool { log.Log(PLUG, "CloseToolkit() for name =", name) for i, plug := range allPlugins { -- cgit v1.2.3