@@ -25,6 +25,7 @@ const LRESULT = windows.LRESULT;
25
25
const HICON = windows .HICON ;
26
26
const LPARAM = windows .LPARAM ;
27
27
const POINT = windows .POINT ;
28
+ const HANDLE = windows .HANDLE ;
28
29
const HCURSOR = windows .HCURSOR ;
29
30
const HBRUSH = windows .HBRUSH ;
30
31
@@ -1138,9 +1139,10 @@ pub fn waitMessage() !void {
1138
1139
if (WaitMessage () == 0 ) return windows .unexpectedError (GetLastError ());
1139
1140
}
1140
1141
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 );
1144
1146
if (value != windows .WAIT_FAILED ) return value ;
1145
1147
1146
1148
switch (GetLastError ()) {
0 commit comments