[Bug 6960] New: regression: mouse stuck in quake 3

Wine Bugs wine-bugs at winehq.org
Wed Dec 20 23:57:39 CST 2006


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

           Summary: regression: mouse stuck in quake 3
           Product: Wine
           Version: 0.9.27.
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: wine-directx-dinput
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: damjan.jov at gmail.com


REGRESSION:

In Quake 3 arena (demo), the mouse is stuck at the top-left corner of the screen
and doesn't budge.

adadb5be7815f0e9a404afeda04f72122918c234 is first bad commit
diff-tree adadb5be7815f0e9a404afeda04f72122918c234 (from
a97680751a55e02b6b7e5f561e7c1cfcd4eb7115)
Author: Vitaliy Margolen <wine-patch at kievinfo.com>
Date:   Sat Sep 16 12:25:29 2006 -0600

    dinput: Return proper errors in SetCooperativeLevel.

:040000 040000 4e6b347360a5bb9fca9b875124d9205a380d8869
17d33684b1496b2d9a6ec9e6197f75341ec7b4b6 M  dlls



RELEVANT LOG:

trace:dinput:IDirectInputDevice2AImpl_SetCooperativeLevel (0x17f970)
(nil),0x00000005
trace:dinput:IDirectInputDevice2AImpl_SetCooperativeLevel  cooperative level :
DISCL_EXCLUSIVE DISCL_FOREGROUND




PROPOSED PATCH:

diff --git a/dlls/dinput/device.c b/dlls/dinput/device.c
index 618818f..7fe25ff 100644
--- a/dlls/dinput/device.c
+++ b/dlls/dinput/device.c
@@ -623,11 +623,9 @@ HRESULT WINAPI IDirectInputDevice2AImpl_
         (dwflags & (DISCL_FOREGROUND | DISCL_BACKGROUND)) == (DISCL_FOREGROUND
| DISCL_BACKGROUND))
         return DIERR_INVALIDPARAM;

-    if (dwflags == (DISCL_NONEXCLUSIVE | DISCL_BACKGROUND))
+    if (dwflags == (DISCL_NONEXCLUSIVE | DISCL_BACKGROUND) || !hwnd)
         hwnd = GetDesktopWindow();

-    if (!hwnd) return E_HANDLE;
-
     /* For security reasons native does not allow exclusive background level
        for mouse and keyboard only */
     if (dwflags & DISCL_EXCLUSIVE && dwflags & DISCL_BACKGROUND &&

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



More information about the wine-bugs mailing list