summaryrefslogtreecommitdiff
path: root/uitask_windows.go
diff options
context:
space:
mode:
Diffstat (limited to 'uitask_windows.go')
-rw-r--r--uitask_windows.go11
1 files changed, 9 insertions, 2 deletions
diff --git a/uitask_windows.go b/uitask_windows.go
index c1f867c..33ab0ad 100644
--- a/uitask_windows.go
+++ b/uitask_windows.go
@@ -35,17 +35,22 @@ var (
_postThreadMessage = user32.NewProc("PostThreadMessageW")
)
-func ui(initDone chan error) {
+func ui(main func()) error {
runtime.LockOSThread()
uitask = make(chan *uimsg)
- initDone <- doWindowsInit()
+ err := doWindowsInit()
+ if err != nil {
+ return err
+ }
threadIDReq := make(chan uintptr)
msglooperrs := make(chan error)
go msgloop(threadIDReq, msglooperrs)
threadID := <-threadIDReq
+ go main()
+
quit := false
for !quit {
select {
@@ -66,6 +71,8 @@ func ui(initDone chan error) {
}
}
}
+
+ return nil
}
var (