From cee78198e483c7814d0a2654349ce3e3586b26c0 Mon Sep 17 00:00:00 2001 From: Pietro Gagliardi Date: Tue, 11 Feb 2014 19:52:39 -0500 Subject: It appears the result of syscall.StringToUTF16Ptr() is only temporary, so removed all that. Now the program just hangs... --- stdwndclass_windows.go | 6 +++--- sysdata_windows.go | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/stdwndclass_windows.go b/stdwndclass_windows.go index c550201..b2b82fd 100644 --- a/stdwndclass_windows.go +++ b/stdwndclass_windows.go @@ -7,7 +7,7 @@ import ( "unsafe" ) -const ( +var ( stdWndClass = "gouiwndclass" ) @@ -57,7 +57,7 @@ type _WNDCLASS struct { hCursor _HANDLE hbrBackground _HBRUSH lpszMenuName *uint16 - lpszClassName *uint16 + lpszClassName uintptr } func registerStdWndClass() (err error) { @@ -83,7 +83,7 @@ func registerStdWndClass() (err error) { cursor := _HANDLE(r1) wc := &_WNDCLASS{ - lpszClassName: syscall.StringToUTF16Ptr(stdWndClass), + lpszClassName: uintptr(unsafe.Pointer(syscall.StringToUTF16Ptr(stdWndClass))), lpfnWndProc: syscall.NewCallback(stdWndProc), hInstance: hInstance, hIcon: icon, diff --git a/sysdata_windows.go b/sysdata_windows.go index f454e89..a6fe15e 100644 --- a/sysdata_windows.go +++ b/sysdata_windows.go @@ -16,7 +16,7 @@ type sysData struct { } type classData struct { - name uintptr + name string style uint32 xstyle uint32 } @@ -26,12 +26,12 @@ type classData struct { var classTypes = [nctypes]*classData{ c_window: &classData{ - name: uintptr(unsafe.Pointer(syscall.StringToUTF16Ptr(stdWndClass))), + name: stdWndClass, style: _WS_OVERLAPPEDWINDOW, xstyle: 0, }, // c_button: &classData{ -// name: uintptr(unsafe.Pointer("BUTTON")) +// name: "BUTTON" // style: _BS_PUSHBUTTON | controlstyle, // xstyle: 0 | controlxstyle, // }, @@ -48,7 +48,7 @@ func (s *sysData) make() (err error) { call: _createWindowEx, p: []uintptr{ uintptr(ct.xstyle), - ct.name, + uintptr(unsafe.Pointer(syscall.StringToUTF16Ptr(ct.name))), uintptr(unsafe.Pointer(syscall.StringToUTF16Ptr(s.text))), uintptr(ct.style), uintptr(_CW_USEDEFAULT), // TODO -- cgit v1.2.3