http://bugs.winehq.org/show_bug.cgi?id=8986 Summary: UFO - Enemy unknown/X-COM:UFO Defence - No keyboard input Product: Wine Version: 0.9.41. Platform: PC URL: http://www.abandonia.com/games/38/UFO- EnemyUnknown/UFOEnemyUnknown.htm OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: wine-directx-dinput AssignedTo: wine-bugs(a)winehq.org ReportedBy: cja(a)gmx.net Between 0.9.28 and 0.9.29 the keyboard input got broken for UFO. And is still broken for 0.9.41 You can't enter a save game name. Regression test shows that this patch: -- Author: Vitaliy Margolen <wine-patches(a)kievinfo.com> 2006-12-28 00:30:39 Committer: Alexandre Julliard <julliard(a)winehq.org> 2006-12-28 12:22:29 Parent: cb42253ff3321ebb3865cf2e3755d52014f494c6 (opengl32: Add OpenGL 2.1 support and more extensions.) Branches: origin, master, bisect Follows: wine-0.9.28 Precedes: wine-0.9.29 dinput: Remove MsgWaitForMultipleObjects calls. ---------------------------- dlls/dinput/keyboard.c ---------------------------- index 4308b45..34800ff 100644 @@ -282,9 +282,7 @@ static HRESULT WINAPI SysKeyboardAImpl_GetDeviceState( if (!This->base.acquired) return DIERR_NOTACQUIRED; if (len != WINE_DINPUT_KEYBOARD_MAX_KEYS) - return DIERR_INVALIDPARAM; - - MsgWaitForMultipleObjectsEx(0, NULL, 0, QS_ALLINPUT, 0); + return DIERR_INVALIDPARAM; EnterCriticalSection(&This->base.crit); @@ -548,9 +546,7 @@ static HRESULT WINAPI SysKeyboardAImpl_Poll(LPDIRECTINPUTDEVICE8A iface) TRACE("(%p)\n",This); if (!This->base.acquired) return DIERR_NOTACQUIRED; - - MsgWaitForMultipleObjectsEx(0, NULL, 0, QS_ALLINPUT, 0); - return DI_OK; + return DI_NOEFFECT; } static const IDirectInputDevice8AVtbl SysKeyboardAvt = -- broke the support. Applying: ----- keyboard.c.orig 2007-07-13 19:46:16.000000000 +0200 +++ keyboard.c 2007-07-15 19:06:15.000000000 +0200 @@ -271,6 +271,8 @@ if (len != WINE_DINPUT_KEYBOARD_MAX_KEYS) return DIERR_INVALIDPARAM; + MsgWaitForMultipleObjectsEx(0, NULL, 0, QS_ALLINPUT, 0); + EnterCriticalSection(&This->base.crit); if (TRACE_ON(dinput)) { -- Fixes keyboard support for UFO. Don't ask me why. Note, I have to run the game with: HKEY_CURRENT_USER\Software\Wine\Direct3D\DirectDrawRenderer=gdi (ATI's drivers) -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee.