From 1f08c874e0c9df9019e994098e1d006a7011e533 Mon Sep 17 00:00:00 2001 From: Pietro Gagliardi Date: Tue, 18 Feb 2014 09:57:19 -0500 Subject: Made event dispatch asynchronous to avoid deadlocks; right now events that cannot be dispatched get dropped. --- stdwndclass_windows.go | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'stdwndclass_windows.go') diff --git a/stdwndclass_windows.go b/stdwndclass_windows.go index 2824746..3c9861f 100644 --- a/stdwndclass_windows.go +++ b/stdwndclass_windows.go @@ -32,7 +32,7 @@ func stdWndProc(s *sysData) func(hwnd _HWND, uMsg uint32, wParam _WPARAM, lParam switch ss.ctype { case c_button: if wParam.HIWORD() == _BN_CLICKED { - ss.event <- struct{}{} + ss.signal() } } return 0 @@ -58,9 +58,7 @@ func stdWndProc(s *sysData) func(hwnd _HWND, uMsg uint32, wParam _WPARAM, lParam } return 0 case _WM_CLOSE: - if s.event != nil { - s.event <- struct{}{} - } + s.signal() return 0 default: r1, _, _ := defWindowProc.Call( -- cgit v1.2.3