Rémi Bernon (@rbernon) commented about dlls/winex11.drv/window.c:
- /* unclip it while we create the Window, see Wine-Bug 53831 */
- if (x11drv_thread_data() && x11drv_thread_data()->clipping_cursor)
- {
was_clipped = TRUE;
ungrab_clipping_window();
- } pos = virtual_screen_to_root( data->whole_rect.left, data->whole_rect.top ); data->whole_window = XCreateWindow( data->display, root_window, pos.x, pos.y, cx, cy, 0, data->vis.depth, InputOutput, data->vis.visual, mask, &attr );
- if (was_clipped)
- {
clipping_cursor = TRUE;
retry_grab_clipping_window();
- }
So, is this a problem with the clip fullscreen window option? Or maybe because we also clip fullscreen windows when they are on a single monitor, like I described in https://gitlab.winehq.org/wine/wine/-/merge_requests/3076?
I'm not sure to understand how cursor clipping is causing issues with window creation. Even if the cursor is clipped and the clipping window receives all the input, we should still dispatch it to the right window after that?