From f9bbc117113f9107af244e6fb242688e89fdbdbc Mon Sep 17 00:00:00 2001 From: Lea Anthony Date: Sun, 7 May 2023 10:34:08 +1000 Subject: [PATCH] [v3] Use `invokeSync` for systray methods --- v3/pkg/application/systemtray.go | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/v3/pkg/application/systemtray.go b/v3/pkg/application/systemtray.go index 23ba6f286..b7cf41d96 100644 --- a/v3/pkg/application/systemtray.go +++ b/v3/pkg/application/systemtray.go @@ -49,7 +49,9 @@ func (s *SystemTray) SetLabel(label string) { s.label = label return } - s.impl.setLabel(label) + invokeSync(func() { + s.impl.setLabel(label) + }) } func (s *SystemTray) Label() string { @@ -58,14 +60,16 @@ func (s *SystemTray) Label() string { func (s *SystemTray) Run() { s.impl = newSystemTrayImpl(s) - s.impl.run() + invokeSync(s.impl.run) } func (s *SystemTray) SetIcon(icon []byte) *SystemTray { if s.impl == nil { s.icon = icon } else { - s.impl.setIcon(icon) + invokeSync(func() { + s.impl.setIcon(icon) + }) } return s } @@ -74,7 +78,9 @@ func (s *SystemTray) SetMenu(menu *Menu) *SystemTray { if s.impl == nil { s.menu = menu } else { - s.impl.setMenu(menu) + invokeSync(func() { + s.impl.setMenu(menu) + }) } return s } @@ -83,7 +89,9 @@ func (s *SystemTray) SetIconPosition(iconPosition int) *SystemTray { if s.impl == nil { s.iconPosition = iconPosition } else { - s.impl.setIconPosition(iconPosition) + invokeSync(func() { + s.impl.setIconPosition(iconPosition) + }) } return s } @@ -93,7 +101,9 @@ func (s *SystemTray) SetTemplateIcon(icon []byte) *SystemTray { s.icon = icon s.isTemplateIcon = true } else { - s.impl.setTemplateIcon(icon) + invokeSync(func() { + s.impl.setTemplateIcon(icon) + }) } return s }