I'm not sure if the GetTempPathW() dir is okay for this. d3dx11 seems to do the same in tests, so I copied that approach.
Commit message:
The wine testbot runs tests with C:\Users\Public\Documents as the
working directory. Itemdlg tests create test files in the working
directory and then try to select them for opening in an IFileOpenDialog.
The dialog has its SetFolder method called to point it to the current
working directory before showing the dialog, in order for the test code
to find the test files it had created there just before opening the
dialog.
On Windows, this failed because calling the dialog's SetFolder method
with C:\Users\Public\Documents doesn't work as expected. The dialog
points to the C:\Users\\[CURRENT_USER]\Documents directory instead.
Subsequently, the test would be unable to select the test file because
it doesn't exist in that directory. So the dialog wouldn't accept the
file and close itself to finish the test, but show an error message
instead, resulting in a test timeout.
To fix this, set the current working directory to the temporary
directory before calling individual itemdlg test_* functions. Switch
back to the previous working directory after tests finish.
--
v3: comdlg32/tests: Fix itemdlg tests on Windows.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2369
Introduction
------------
This is the first of (many) parts in the upstreaming of the Wayland driver for Wine. Since the amount of code and commits is large, my approach is to upstream the driver in multiple parts in a serial fashion, with each part being a cohesive (to the degree possible) set of not too many commits. When each part is reviewed and merged, I will move on to proposing the next part. My main goal with this approach is to make reviewing easier and more focused. If you have other ideas about how to improve this process for the reviewers, please let me know.
A lot of pieces need to fall into place before the driver becomes even remotely functional, so, some MRs (especially the initial ones) will be a bit more preparatory in nature. To aid in the understanding of and justification for some of the code introduced in such MRs, all the remaining driver commits are always going to be available at https://gitlab.winehq.org/afrantzis/wine/-/tree/wayland.
Part 1
-------
~~This MR introduces the Wayland driver PE and unixlib components with some basic code, and prepares the makedep tool to be able to handle Wayland protocol files.~~
This MR introduces the Wayland driver PE and unixlib components with some basic code, and reports some basic monitor information to Wine.
Please see the individual commit message for more details.
Some questions I would appreciate some feedback on in the context of this MR:
1. Should the Wayland driver build be enabled by default at this point? (currently it's explicitly opt-in with --with-wayland)
2. How should the Wayland driver build be integrated with CI? (currently piggybacking on gitlab/build-linux by adding --with-wayland)
Note that building the Wayland driver should not affect running/testing on X11/Xwayland etc, since it's placed lower in the driver priority list.
~~Part 2 preview: We will handle basic Wayland wl_output (i.e., display) events and populate the Wine monitor information.~~
Part 2 preview: We will report more monitor information and implement GetCurrentDisplaySettings.
--
v8: winewayland.drv: Report all advertised monitor modes to Wine.
winewayland.drv: Report basic monitor information.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2275