 
            Their surfaces may be used.
---
x11drv already supports this (and we test for it in opengl32/tests/opengl.c:test_message_window). x11drv doesn't make an x11drv_win_data for message-only windows when they are initially created in X11DRV_create_win_data, but does later if a surface is requested (x11drv_client_surface_create -> create_client_window). I don't see much of a reason to do it lazily in macdrv. We won't make a Cocoa window for message-only windows in macdrv_create_win_data since the parent isn't the desktop, so we're really just allocating space for the macdrv_win_data. And plus opengl.c:macdrv_surface_create uses `get_win_data(hwnd)` as its check for whether a hwnd is in-process; we'd have to adjust that logic (and shuffle some things around in that function) if we were to have macdrv_client_surface_create potentially create a macdrv_win_data.
 
            From: Tim Clem tclem@codeweavers.com
Their surfaces may be used. --- dlls/winemac.drv/window.c | 3 --- 1 file changed, 3 deletions(-)
diff --git a/dlls/winemac.drv/window.c b/dlls/winemac.drv/window.c index 10e719068ac..522b61d844d 100644 --- a/dlls/winemac.drv/window.c +++ b/dlls/winemac.drv/window.c @@ -538,9 +538,6 @@ static struct macdrv_win_data *macdrv_create_win_data(HWND hwnd, const struct wi return NULL; }
- /* don't create win data for HWND_MESSAGE windows */ - if (parent != NtUserGetDesktopWindow() && !NtUserGetAncestor(parent, GA_PARENT)) return NULL; - if (!(data = alloc_win_data(hwnd))) return NULL; data->rects = *rects;

