http://bugs.winehq.org/show_bug.cgi?id=8854
Reimar Döffinger Reimar.Doeffinger@gmx.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |Reimar.Doeffinger@gmx.de
--- Comment #29 from Reimar Döffinger Reimar.Doeffinger@gmx.de 2009-01-18 10:40:22 --- I made a hackish patch that makes X-Wing Alliance work. This is important to me, since this is one of the Games that no longer works on Windows with any recent graphic cards. This is the little change I made:
diff --git a/dlls/dinput/device.c b/dlls/dinput/device.c index 8e226cc..1405687 100644 --- a/dlls/dinput/device.c +++ b/dlls/dinput/device.c @@ -1046,6 +1046,7 @@ HRESULT WINAPI IDirectInputDevice2AImpl_GetDeviceData( LPDIRECTINPUTDEVICE8A iface, DWORD dodsize, LPDIDEVICEOBJECTDATA dod, LPDWORD entries, DWORD flags) { + MSG msg; IDirectInputDevice2AImpl *This = (IDirectInputDevice2AImpl *)iface; HRESULT ret = DI_OK; int len; @@ -1053,6 +1054,11 @@ HRESULT WINAPI IDirectInputDevice2AImpl_GetDeviceData( TRACE("(%p) %p -> %p(%d) x%d, 0x%08x\n", This, dod, entries, entries ? *entries : 0, dodsize, flags);
+ while (PeekMessageA(&msg, 0, 0, 0, PM_REMOVE)) { + TranslateMessage(&msg); + DispatchMessageA(&msg); + } + if (!This->acquired) return DIERR_NOTACQUIRED; if (!This->queue_len)