summaryrefslogtreecommitdiff
path: root/stdwndclass_windows.go
diff options
context:
space:
mode:
Diffstat (limited to 'stdwndclass_windows.go')
-rw-r--r--stdwndclass_windows.go13
1 files changed, 10 insertions, 3 deletions
diff --git a/stdwndclass_windows.go b/stdwndclass_windows.go
index 38031e7..ad99ce4 100644
--- a/stdwndclass_windows.go
+++ b/stdwndclass_windows.go
@@ -97,9 +97,16 @@ func registerStdWndClass(s *sysData) (newClassName string, err error) {
hbrBackground: _HBRUSH(_COLOR_BTNFACE + 1),
}
- r1, _, err = user32.NewProc("RegisterClassW").Call(uintptr(unsafe.Pointer(wc)))
- if r1 == 0 { // failure
- return "", err
+ ret := make(chan uiret)
+ defer close(ret)
+ uitask <- &uimsg{
+ call: _registerClass,
+ p: []uintptr{uintptr(unsafe.Pointer(wc))},
+ ret: ret,
+ }
+ r := <-ret
+ if r.ret == 0 { // failure
+ return "", r.err
}
return newClassName, nil
}