The `viewWillDraw` warning was introduced recently in ceefcca7ad4cf8dee0dd1344b22b90d6e2344973 ("Update OpenGL context immediately after the window content view is visible.").
For the other one, `CGWindowListCreateImageFromArray()` is insane and takes a CFArray of window numbers (`CGWindowID`/32-bit signed integers) expanded to pointer size (*not* boxed in CFNumber). At some point clang started warning about this: ``` ../dlls/winemac.drv/cocoa_window.m:2344:32: warning: cast to 'const void *' from smaller integer type 'CGWindowID' (aka 'unsigned int') [-Wint-to-void-pointer-cast] 2344 | const void* windowID = (const void*)(CGWindowID)window.windowNumber; ```
From: Brendan Shanks bshanks@codeweavers.com
--- dlls/winemac.drv/cocoa_window.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/winemac.drv/cocoa_window.m b/dlls/winemac.drv/cocoa_window.m index 61a6ab2cd4e..1a73deedc2c 100644 --- a/dlls/winemac.drv/cocoa_window.m +++ b/dlls/winemac.drv/cocoa_window.m @@ -2338,7 +2338,7 @@ - (void) grabDockIconSnapshotFromWindow:(WineWindow*)window force:(BOOL)force return; }
- const void* windowID = (const void*)(CGWindowID)window.windowNumber; + const void* windowID = (const void*)(uintptr_t)(CGWindowID)window.windowNumber; CFArrayRef windowIDs = CFArrayCreate(NULL, &windowID, 1, NULL); CGImageRef windowImage = CGWindowListCreateImageFromArray(CGRectNull, windowIDs, kCGWindowImageBoundsIgnoreFraming); CFRelease(windowIDs);
From: Brendan Shanks bshanks@codeweavers.com
--- dlls/winemac.drv/cocoa_window.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/winemac.drv/cocoa_window.m b/dlls/winemac.drv/cocoa_window.m index 1a73deedc2c..f4a6dce89b6 100644 --- a/dlls/winemac.drv/cocoa_window.m +++ b/dlls/winemac.drv/cocoa_window.m @@ -564,7 +564,7 @@ - (void) viewWillDraw clearedGlSurface = TRUE; } context.needsUpdate = TRUE; - macdrv_update_opengl_context(context); + macdrv_update_opengl_context((macdrv_opengl_context)context); } [glContexts addObjectsFromArray:pendingGlContexts]; [pendingGlContexts removeAllObjects];