summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--area_windows.go6
-rw-r--r--sysdata_windows.go1
2 files changed, 6 insertions, 1 deletions
diff --git a/area_windows.go b/area_windows.go
index 6708a27..35438e3 100644
--- a/area_windows.go
+++ b/area_windows.go
@@ -604,8 +604,12 @@ var (
_setFocus = user32.NewProc("SetFocus")
)
-func areaWndProc(s *sysData) func(hwnd _HWND, uMsg uint32, wParam _WPARAM, lParam _LPARAM) _LRESULT {
+func areaWndProc(unused *sysData) func(hwnd _HWND, uMsg uint32, wParam _WPARAM, lParam _LPARAM) _LRESULT {
return func(hwnd _HWND, uMsg uint32, wParam _WPARAM, lParam _LPARAM) _LRESULT {
+ s := getSysData(hwnd)
+ if s == nil { // not yet saved
+ return storeSysData(hwnd, uMsg, wParam, lParam)
+ }
switch uMsg {
case _WM_PAINT:
paintArea(s)
diff --git a/sysdata_windows.go b/sysdata_windows.go
index 06b2ac8..e6b6484 100644
--- a/sysdata_windows.go
+++ b/sysdata_windows.go
@@ -116,6 +116,7 @@ var classTypes = [nctypes]*classData{
register: registerAreaWndClass,
style: areastyle,
xstyle: areaxstyle,
+ storeSysData: true,
doNotLoadFont: true,
},
}