diff --git a/entry_windows.go b/entry_windows.go index c9adc28..0454f2f 100644 --- a/entry_windows.go +++ b/entry_windows.go @@ -103,20 +103,20 @@ const ( maxPath = 260 ) -// wndClassExW https://msdn.microsoft.com/en-us/library/windows/desktop/ms633577.aspx -type wndClassExW struct { - size uint32 - style uint32 - wndProc uintptr - clsExtra int32 - wndExtra int32 - instance syscall.Handle - icon syscall.Handle - cursor syscall.Handle - background syscall.Handle - menuName *uint16 - className *uint16 - iconSm syscall.Handle +// https://docs.microsoft.com/en-us/windows/win32/api/winuser/ns-winuser-wndclassexw +type _WNDCLASSEXW struct { + Size uint32 + Style uint32 + WndProc uintptr + ClsExtra int32 + WndExtra int32 + Instance uintptr + Icon uintptr + Cursor uintptr + Background uintptr + MenuName *uint16 + ClassName *uint16 + IconSm uintptr } // https://docs.microsoft.com/en-ie/windows/win32/api/winuser/ns-winuser-msg @@ -215,7 +215,7 @@ func defWindowProc(hwnd syscall.Handle, msg uint32, wparam, lparam uintptr) uint return uintptr(ret) } -func registerClassEx(wcx *wndClassExW) (uint16, error) { +func registerClassEx(wcx *_WNDCLASSEXW) (uint16, error) { ret, _, err := registerClassExW.Call(uintptr(unsafe.Pointer(wcx))) if ret == 0 { @@ -311,12 +311,12 @@ func getMessageFont() uintptr { } func registerClass(className string, instance syscall.Handle, fn interface{}) error { - var wcx wndClassExW - wcx.size = uint32(unsafe.Sizeof(wcx)) - wcx.wndProc = syscall.NewCallback(fn) - wcx.instance = instance - wcx.background = colorWindow + 1 - wcx.className = syscall.StringToUTF16Ptr(className) + var wcx _WNDCLASSEXW + wcx.Size = uint32(unsafe.Sizeof(wcx)) + wcx.WndProc = syscall.NewCallback(fn) + wcx.Instance = uintptr(instance) + wcx.Background = colorWindow + 1 + wcx.ClassName = syscall.StringToUTF16Ptr(className) _, err := registerClassEx(&wcx) return err diff --git a/go.mod b/go.mod index fb8ab28..e0f1666 100644 --- a/go.mod +++ b/go.mod @@ -3,6 +3,9 @@ module github.com/ncruces/zenity go 1.15 require ( + github.com/dchest/jsmin v0.0.0-20160823214000-faeced883947 // indirect + github.com/josephspurrier/goversioninfo v1.2.0 // indirect + github.com/stretchr/testify v1.6.1 // indirect go.uber.org/goleak v1.0.0 // test golang.org/x/image v0.0.0-20201208152932-35266b937fa6 golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f // indirect diff --git a/go.sum b/go.sum index 9727dc9..6f6e250 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,11 @@ +github.com/akavel/rsrc v0.8.0 h1:zjWn7ukO9Kc5Q62DOJCcxGpXC18RawVtYAGdz2aLlfw= +github.com/akavel/rsrc v0.8.0/go.mod h1:uLoCtb9J+EyAqh+26kdrTgmzRBFPGOolLWKpdxkKq+c= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dchest/jsmin v0.0.0-20160823214000-faeced883947 h1:Fm10/KNuoAyBm2P5P5H91Xy21hGcZnBdjR+cMdytv1M= +github.com/dchest/jsmin v0.0.0-20160823214000-faeced883947/go.mod h1:Dv9D0NUlAsaQcGQZa5kc5mqR9ua72SmA8VXi4cd+cBw= +github.com/josephspurrier/goversioninfo v1.2.0 h1:tpLHXAxLHKHg/dCU2AAYx08A4m+v9/CWg6+WUvTF4uQ= +github.com/josephspurrier/goversioninfo v1.2.0/go.mod h1:AGP2a+Y/OVJZ+s6XM4IwFUpkETwvn0orYurY8qpw1+0= github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= @@ -8,8 +14,9 @@ github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= go.uber.org/goleak v1.0.0 h1:qsup4IcBdlmsnGfqyLl4Ntn3C2XCCuKAE7DwHpScyUo= go.uber.org/goleak v1.0.0/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= @@ -50,5 +57,6 @@ golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8T gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=