[Bug 33316] New: DirectInput fails when GetMessage is not called

wine-bugs at winehq.org wine-bugs at winehq.org
Tue Apr 2 00:58:00 CDT 2013


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

             Bug #: 33316
           Summary: DirectInput fails when GetMessage is not called
           Product: Wine
           Version: 1.5.27
          Platform: x86-64
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: directx-dinput
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: xlinuxro at yahoo.com
    Classification: Unclassified


Created attachment 44066
  --> http://bugs.winehq.org/attachment.cgi?id=44066
a patch for wine-1.5.27

IDirectInputDevice2::GetDeviceData fails to return keyboard events if the
calling application does not continue pumping its message queue
(PeekMessage/GetMessage).  That is because IDirectInputDevice2 is implemented
using a WH_KEYBOARD_LL hook and that hook is implemented inside of wine's
normal event processing.

This problem makes Star Wars: X-wing Alliance unplayable because the user must
press the "space" key before a mission starts and that event is never
delivered.  Some of the other Star Wars spaceflight games are also affected. 
They hang in some menus while waiting for input.

I recommend adding a call to PeekMessage in GetDeviceData and have attached a
patch which does that.  X-wing Alliance becomes playable with this patch.

-- 
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