diff options
Diffstat (limited to 'sysdatacache_windows.go')
| -rw-r--r-- | sysdatacache_windows.go | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sysdatacache_windows.go b/sysdatacache_windows.go index 1bdb128..620d6ac 100644 --- a/sysdatacache_windows.go +++ b/sysdatacache_windows.go @@ -18,16 +18,18 @@ var ( sysDatasLock sync.Mutex ) -// MUST HAVE LOCKED BEFORE CALLING func addSysData(hwnd _HWND, s *sysData) { + sysDatasLock.Lock() + defer sysDatasLock.Unlock() sysDatas[hwnd] = &sdcEntry{ s: s, members: map[_HMENU]*sysData{}, } } -// MUST HAVE LOCKED BEFORE CALLING func addIDSysData(hwnd _HWND, id _HMENU, s *sysData) { + sysDatasLock.Lock() + defer sysDatasLock.Unlock() if ss, ok := sysDatas[hwnd]; ok { ss.members[id] = s } @@ -40,7 +42,7 @@ func getSysData(hwnd _HWND) *sysData { if ss, ok := sysDatas[hwnd]; ok { return ss.s } - panic(fmt.Sprintf("getting nonexistent HWND %d\n", hwnd)) + return nil } func getIDSysData(hwnd _HWND, id _HMENU) *sysData { |
