-
Sebastian Lackner authored
During a callback function, some games use the wrong function signature for an xaudio2 function, which changed between xaudio2 versions. As a result, the EDI and ESI registers are overwritten by the game. Apparently Windows's implementation happens not to use these registers in a way that causes the crash. This patch pushes EDI and ESI onto the stack before calling the callback, then pops them back after the callback exits. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=42520 Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=43358Signed-off-by: Andrew Eikum <aeikum@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
c649ec3a