[Bug 8854] Unable to get keyboard / mouse input in multiple games

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Jan 18 10:40:23 CST 2009


http://bugs.winehq.org/show_bug.cgi?id=8854


Reimar Döffinger <Reimar.Doeffinger at gmx.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |Reimar.Doeffinger at gmx.de




--- Comment #29 from Reimar Döffinger <Reimar.Doeffinger at 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)


-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.


More information about the wine-bugs mailing list