Skip to content

Commit 3604d89

Browse files
committed
MsgWaitForMultipleObjects went untested in last commit
1 parent 3eed696 commit 3604d89

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

lib/std/os/windows/user32.zig

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ const LRESULT = windows.LRESULT;
2525
const HICON = windows.HICON;
2626
const LPARAM = windows.LPARAM;
2727
const POINT = windows.POINT;
28+
const HANDLE = windows.HANDLE;
2829
const HCURSOR = windows.HCURSOR;
2930
const HBRUSH = windows.HBRUSH;
3031

@@ -1138,9 +1139,10 @@ pub fn waitMessage() !void {
11381139
if (WaitMessage() == 0) return windows.unexpectedError(GetLastError());
11391140
}
11401141

1141-
pub extern "user32" fn MsgWaitForMultipleObjects(nCount: DWORD, pHandles: ?[*]const anyopaque, fWaitAll: BOOL, dwMilliseconds: DWORD, dwWakeMask: DWORD) callconv(WINAPI) DWORD;
1142-
pub fn msgWaitForMultipleObjects(handles: ?[]*const anyopaque, waitAll: bool, dwMilliseconds: DWORD, dwWakeMask: DWORD) !DWORD {
1143-
const value = MsgWaitForMultipleObjects(handles.?.len orelse 0, handles.?.ptr, @intFromBool(waitAll), dwMilliseconds, dwWakeMask);
1142+
pub extern "user32" fn MsgWaitForMultipleObjects(nCount: DWORD, pHandles: ?[*]const HANDLE, fWaitAll: BOOL, dwMilliseconds: DWORD, dwWakeMask: DWORD) callconv(WINAPI) DWORD;
1143+
pub fn msgWaitForMultipleObjects(handles: ?[]const HANDLE, waitAll: bool, dwMilliseconds: DWORD, dwWakeMask: DWORD) !DWORD {
1144+
const value = if (handles) |h| MsgWaitForMultipleObjects(@intCast(h.len), h.ptr, @intFromBool(waitAll), dwMilliseconds, dwWakeMask)
1145+
else MsgWaitForMultipleObjects(0, null, @intFromBool(waitAll), dwMilliseconds, dwWakeMask);
11441146
if (value != windows.WAIT_FAILED) return value;
11451147

11461148
switch (GetLastError()) {

0 commit comments

Comments
 (0)