https://bugs.winehq.org/show_bug.cgi?id=47023
Bug ID: 47023 Summary: Warframe in-game screenshot fails if screenshot directory already exists Product: Wine Version: 4.6 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: shell32 Assignee: wine-bugs@winehq.org Reporter: wine.bugzilla@johnthomson.fastmail.com.au Distribution: ---
Created attachment 64181 --> https://bugs.winehq.org/attachment.cgi?id=64181 SHCreateDirectoryExW already exists demo application source
The Warframe in-game screenshot (F6) utility fails to save a screenshot if the directory it tries to use already exists.
These are: $user\My Pictures\Warframe $warframe_install_location\Downloaded\Public\Captures $warframe_install_location\Downloaded\Public $user\Local Settings\Application Data\Warframe\Captures
If one of these folders does not exist, it is created, and one screenshot can be saved.
I believe the issue stems from SHCreateDirectoryExW returning ERROR_CANCELLED, but have not had time to compile Wine with a fix yet.
0037:Call shell32.SHCreateDirectoryExW(00020060,09df9270 L"C:\users\john\My Pictures\Warframe",00000000) ret=1401353f4 ... 0037:fixme:shell:SHCreateDirectoryExW Show system error message, creating path L"C:\users\john\My Pictures\Warframe", failed with error 183 0037:Ret shell32.SHCreateDirectoryExW() retval=000004c7 ret=1401353f4
When the folder exists, SHCreateDirectoryExW returns with ERROR_CANCELLED 1223 (0x4C7)
https://github.com/wine-mirror/wine/blob/fabde842ede40fc53cf6f5743d5b477841f...
My simple test program with a non-null Hwnd returned error ERROR_ALREADY_EXISTS 183 on Windows 7, and ERROR_CANCELLED 1223 in Wine, but I am not confident in my quick testing.
The MSDN docs do not mention this https://docs.microsoft.com/en-us/windows/desktop/api/shlobj_core/nf-shlobj_c...
I would like for someone to test the return value of SHCreateDirectoryExW with a Hwnd for an exiting directory on Windows.