"erwin Data Modeler" crashes under Wine when making ODBC connections (to native ODBC drivers on macOS via iODBC) due to passing in `NULL` values in places. These checks allow execution to proceed successfully.
--
v2: odbc32: Add null pointer checks to update_result_lengths helpers.
odbc32: Avoid crashing if str is null in debugstr_sqlstr.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7013
"erwin Data Modeler" crashes under Wine when making ODBC connections (to native ODBC drivers on macOS via iODBC) due to passing in `NULL` values in places. These checks allow execution to proceed successfully.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7013
Some thread might be destroying a window, calling destroy_client_window
from release_gl_drawable, holding the GL context mutex and trying to
enter the win_data mutex.
At the same time, another thread might be moving its window, calling
sync_gl_drawable from X11DRV_WindowPosChanged, holding the win_data
mutex and trying to enter the GL context mutex.
The deadlock was present before already, although less frequently
triggered as sync_gl_drawable was done conditionally if the client
window has been moved.
This triggers now more frequently in the dxgi:dxgi tests.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7025
**Context:**
Vanguard Saga of Heroes is an MMORPG that was closed years ago by SOE.
However the game is still alive in the emulator scene at https://vgoemulator.net/
The game seems to have relied on an old behaviour of the function SetCurrentDirectoryW( LPCWSTR dir )
which currently crashes the game.
This patch was derived from a solution discovered by the community at https://vgoemulator.net/phpBB3/viewtopic.php?t=5563
It was previously reported to wine bugzilla in this bug report.
https://bugs.winehq.org/show_bug.cgi?id=34285
**Summary of changes:**
Updates the function RtlSetCurrentDirectory_U to remove any trailing "." as the documented behaviour of the setCurrentDirectory function is to resolve the trailing period to the directory itself
Previously the game will set the current directory as "bin\\." and subsequently crash when trying to access it as it is being returned as "bin\\.Caches".
After this change It will correctly set the directory to "bin\Caches" and run successfully
**Notes:**
This is my first contribution to the project so I might be making a lot of incorrect assumptions on how this might affect other binaries. Please do let me know if there is a better way to implement a change like this in the codebase.
Thanks for your help
--
v6: add tests for RtlSetCurrentDirectory_U
https://gitlab.winehq.org/wine/wine/-/merge_requests/7023
**Context:**
Vanguard Saga of Heroes is an MMORPG that was closed years ago by SOE.
However the game is still alive in the emulator scene at https://vgoemulator.net/
The game seems to have relied on an old behaviour of the function SetCurrentDirectoryW( LPCWSTR dir )
which currently crashes the game.
This patch was derived from a solution discovered by the community at https://vgoemulator.net/phpBB3/viewtopic.php?t=5563
It was previously reported to wine bugzilla in this bug report.
https://bugs.winehq.org/show_bug.cgi?id=34285
**Summary of changes:**
Updates the function RtlSetCurrentDirectory_U to remove any trailing "." as the documented behaviour of the setCurrentDirectory function is to resolve the trailing period to the directory itself
Previously the game will set the current directory as "bin\\." and subsequently crash when trying to access it as it is being returned as "bin\\.Caches".
After this change It will correctly set the directory to "bin\Caches" and run successfully
**Notes:**
This is my first contribution to the project so I might be making a lot of incorrect assumptions on how this might affect other binaries. Please do let me know if there is a better way to implement a change like this in the codebase.
Thanks for your help
--
v5: kernelbase: Workaound for SetCurrentDirectoryW misuse
https://gitlab.winehq.org/wine/wine/-/merge_requests/7023
**Context:**
Vanguard Saga of Heroes is an MMORPG that was closed years ago by SOE.
However the game is still alive in the emulator scene at https://vgoemulator.net/
The game seems to have relied on an old behaviour of the function SetCurrentDirectoryW( LPCWSTR dir )
which currently crashes the game.
This patch was a solution discovered by the community at https://vgoemulator.net/phpBB3/viewtopic.php?t=5563
It was previously reported to wine bugzilla in this bug report.
https://bugs.winehq.org/show_bug.cgi?id=34285
**Summary of changes:**
Updates the function SetCurrentDirectoryW( LPCWSTR dir ) to remove any trailing "."
Previously the game will set the current directory as "bin\\." and subsequently crash when accessing "bin\\.Caches". It will now access "bin\Caches" and run successfully
**Notes:**
This is my first contribution to the project so I might be making a lot of incorrect assumptions on how this might affect other binaries. Please do let me know if there is a better way to implement a change like this in the codebase.
Thanks for your help
--
v3: kernelbase: Workaound for SetCurrentDirectoryW misuse
https://gitlab.winehq.org/wine/wine/-/merge_requests/7023
**Context:**
Vanguard Saga of Heroes is an MMORPG that was closed years ago by SOE.
However the game is still alive in the emulator scene at https://vgoemulator.net/
The game seems to have relied on an old behaviour of the function SetCurrentDirectoryW( LPCWSTR dir )
which currently crashes the game.
This patch was a solution discovered by the community at https://vgoemulator.net/phpBB3/viewtopic.php?t=5563
It was previously reported to wine bugzilla in this bug report.
https://bugs.winehq.org/show_bug.cgi?id=34285
**Summary of changes:**
Updates the function SetCurrentDirectoryW( LPCWSTR dir ) to remove any trailing "."
Previously the game will set the current directory as "bin\\." and subsequently crash when accessing "bin\\.Caches". It will now access "bin\Caches" and run successfully
**Notes:**
This is my first contribution to the project so I might be making a lot of incorrect assumptions on how this might affect other binaries. Please do let me know if there is a better way to implement a change like this in the codebase.
Thanks for your help
--
v4: kernelbase: Workaound for SetCurrentDirectoryW misuse
https://gitlab.winehq.org/wine/wine/-/merge_requests/7023