c649ec3a02
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=43358 Signed-off-by: Andrew Eikum <aeikum@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org> |
||
---|---|---|
.. | ||
tests | ||
Makefile.in | ||
compat.c | ||
x3daudio.c | ||
xapofx.c | ||
xaudio2_7.spec | ||
xaudio_classes.idl | ||
xaudio_dll.c | ||
xaudio_private.h |