This MR supercedes !1895 as a solution to bug [#50771](https://bugs.winehq.org/show_bug.cgi?id=50771). Rather than fixing the problem of Wine's inability to modify the attributes of read-only files, this patch set instead implements `FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE` which the Msys2 and Cygwin runtime libriries can use to avoid needing to modify attributes.
--
v2: ntdll: Implemented FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE
ntdll/tests: Added tests for FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE
https://gitlab.winehq.org/wine/wine/-/merge_requests/3073
This MR supercedes !1895 as a solution to bug [#50771](https://bugs.winehq.org/show_bug.cgi?id=50771). Rather than fixing the problem of Wine's inability to modify the attributes of read-only files, this patch set instead implements `FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE` which the Msys2 and Cygwin runtime libriries can use to avoid needing to modify attributes.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3073
We don't need the window anymore, it was only used to send ClipCursor
notifications. This improves cursor clipping performance a lot as it
avoids re-creating a window every time.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3072
Reverting things a bit to how it was before the move to win32u, and avoid modifying the Win32 clipping rect when handling host-specific events like keyboard grabs. This temporarily releases the winex11 cursor grabs, while keeping the Win32 state unchanged and unnotified, and restores the state later when either keyboard is ungrabbed or the virtual desktop window is focused again.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55046
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3071