diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-09-04 10:03:12 -0600 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-09-05 22:03:21 -0600 |
commit | 55e08cbe78b4e01385237b330b5332a3c8315174 (patch) | |
tree | 7c7e62f03e3c648f7d2a596a1bfb6d011fa4a36d /ui/managewindow.go | |
parent | attacksurface: mention named pipe escape hatch (diff) | |
download | wireguard-windows-55e08cbe78b4e01385237b330b5332a3c8315174.tar.xz wireguard-windows-55e08cbe78b4e01385237b330b5332a3c8315174.zip |
ui: do not initialize in global init()
Diffstat (limited to 'ui/managewindow.go')
-rw-r--r-- | ui/managewindow.go | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/ui/managewindow.go b/ui/managewindow.go index 0a4a5114..8bf6422c 100644 --- a/ui/managewindow.go +++ b/ui/managewindow.go @@ -6,6 +6,7 @@ package ui import ( + "sync" "unsafe" "github.com/lxn/walk" @@ -32,13 +33,18 @@ const ( aboutWireGuardCmd = 0x37 ) -var taskbarButtonCreatedMsg = win.RegisterWindowMessage(windows.StringToUTF16Ptr("TaskbarButtonCreated")) +var taskbarButtonCreatedMsg uint32 -func init() { - walk.MustRegisterWindowClass(manageWindowWindowClass) -} +var initedManageTunnels sync.Once func NewManageTunnelsWindow() (*ManageTunnelsWindow, error) { + initedManageTunnels.Do(func() { + walk.AppendToWalkInit(func() { + walk.MustRegisterWindowClass(manageWindowWindowClass) + taskbarButtonCreatedMsg = win.RegisterWindowMessage(windows.StringToUTF16Ptr("TaskbarButtonCreated")) + }) + }) + var err error var disposables walk.Disposables defer disposables.Treat() |