summaryrefslogtreecommitdiff
path: root/sysdata_windows.go
diff options
context:
space:
mode:
authorPietro Gagliardi <[email protected]>2014-05-30 23:28:41 -0400
committerPietro Gagliardi <[email protected]>2014-05-30 23:28:41 -0400
commitb13453ad9e9aa20b6fca064f8b185b0ea86e5aaf (patch)
tree2dab455088ade6c908595785db222ceb347f61fe /sysdata_windows.go
parent09f5c7764ea654faf9a616c838076af5902010a7 (diff)
Changed storeSysData() on Windows to write the HWND to the sysData structure there. This will be important for removing some of the TODOs from areaWndProc().
Diffstat (limited to 'sysdata_windows.go')
-rw-r--r--sysdata_windows.go7
1 files changed, 6 insertions, 1 deletions
diff --git a/sysdata_windows.go b/sysdata_windows.go
index 2a15ea8..fdfbd8c 100644
--- a/sysdata_windows.go
+++ b/sysdata_windows.go
@@ -179,7 +179,12 @@ func (s *sysData) make(window *sysData) (err error) {
}
return fmt.Errorf("error actually creating window/control: %v", r.err)
}
- s.hwnd = _HWND(r.ret)
+ if !ct.storeSysData { // regular control; store s.hwnd ourselves
+ s.hwnd = _HWND(r.ret)
+ } else if s.hwnd != _HWND(r.ret) { // we store sysData in storeSysData(); sanity check
+ // TODO really panic?
+ panic(fmt.Errorf("hwnd mismatch creating window/control: storeSysData() stored 0x%X but CreateWindowEx() returned 0x%X", s.hwnd, ret))
+ }
if !ct.doNotLoadFont {
uitask <- &uimsg{
call: _sendMessage,