This second MR in the Wayland series adds display configuration related enhancements, including providing more display information (like a proper/consistent name and position) to Wine and implementing GetCurrentDisplaySettings.
To get additional information from the Wayland compositor we need to use a protocol from the wayland-protocols collection, so we introduce support in the build system for protocol .xml files, and also makedep changes to gracefully handle the case these external sources are missing when the driver is disabled. These changes are introduced on their own in the first commit in the series, but we can squash it with the next commit, where the functionality is first used, if preferred.
To be able to provide a consistent view of the display settings across all processes, this MR adds a shared memory region containing an authoritative version of the Wayland output information (see the "winewayland.drv: Implement GetCurrentDisplaySettings." commit for more details).
**Important note:** This MR requires the wayland-protocols package in the CI docker image. Without it the Wayland driver build will be disabled, so any build results are not going to be representative of the Wayland driver code changes in this branch.
Thanks!
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2476
On Windows, ldap_delete_(ext_)s returns LDAP_UNWILLING_TO_PERFORM when
trying to delete an entry that cannot be deleted. On Unix,
LDAP_SERVER_DOWN is returned instead. Unix also returns LDAP_SERVER_DOWN
immediately from ldap_delete_ext if the entry cannot be deleted, whereas
Windows queues an asynchronous operation and returns LDAP_SUCCESS.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54702
--
v2: wldap32: Handle null DN or null message in ldap_delete* and add tests.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2481
I initially wanted to do the refactoring in a separate merge request, but since my merge request yesterday broke the tests, I decided to add the implementation into this commit as well.
--
v2: kernelbase: Recursively obtain the Wow6432Node parent.
kernelbase: Add support for shared registry keys.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2483
I initially wanted to do the refactoring in a separate merge request, but since my merge request yesterday broke the tests, I decided to add the implementation into this commit as well.
--
v3: kernelbase: Recursively obtain the Wow6432Node parent.
kernelbase: Add support for shared registry keys.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2483
--
v2: wineps: Handle EMR_LINETO record in spool files.
wineps: Handle EMR_MOVETOEX record in spool files.
wineps: Handle EMR_RECTANGLE record in spool files.
wineps: Handle pen selection in spool files.
wineps: Handle brush selection in spool files.
wineps: Handle EMR_EOF record in spool files.
wineps: Handle EMR_HEADER record in spool files.
wineps: Write document header and footer in PrintDocumentOnPrintProcessor.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2484