[DInput] Fix 'peek' code for mouse (S3 problem)

Lionel Ulmer lionel.ulmer at free.fr
Thu May 5 04:38:34 CDT 2005


On Thu, May 05, 2005 at 10:42:55AM +0000, Stefan Dösinger wrote:
> No, saidly, it doesn't. I have attached a +dinput log again.

This is really strange as the behaviour of DInput seems fine in my log.
Could you send me another log with the attached patch ?

By the way, what exactly is the issue ? The in-game cursor not working or
having still the X cursor displayed which is continuously warping back to
the middle of the screen ?

         Lionel

PS: if anyone knows where I could download the S3 demo, I would be happy to
    test on my box.

-- 
		 Lionel Ulmer - http://www.bbrox.org/
-------------- next part --------------
Only in dlls/dinput: .#mouse.c.1.21
Common subdirectories: ../wine_base/dlls/dinput/CVS and dlls/dinput/CVS
Only in dlls/dinput: Makefile
Only in dlls/dinput: data_formats.o
Only in dlls/dinput: device.o
Only in dlls/dinput: dinput.dll.dbg.c
Only in dlls/dinput: dinput.dll.dbg.o
Only in dlls/dinput: dinput.dll.so
Only in dlls/dinput: dinput.spec.def
Only in dlls/dinput: dinput_main.o
Only in dlls/dinput: joystick_linux.o
Only in dlls/dinput: joystick_linuxinput.o
Only in dlls/dinput: keyboard.o
diff -u ../wine_base/dlls/dinput/mouse.c dlls/dinput/mouse.c
--- ../wine_base/dlls/dinput/mouse.c	Thu May  5 11:23:20 2005
+++ dlls/dinput/mouse.c	Thu May  5 11:34:02 2005
@@ -770,12 +770,19 @@
 	}
 	
 	if (len)
-	    TRACE("Application retrieving %ld event(s).\n", len);
+	    TRACE("Application retrieving %ld event(s):\n", len);
 	
 	*entries = 0;
 	nqtail = This->queue_tail;
 	while (len) {
 	    /* Copy the buffered data into the application queue */
+	    TRACE(" - queuing Offs:%2ld Data:%5ld TS:%8ld Seq:%8ld at address %p from queue tail %4d\n",
+		  (This->data_queue)->dwOfs,
+		  (This->data_queue)->dwData,
+		  (This->data_queue)->dwTimeStamp,
+		  (This->data_queue)->dwSequence,
+		  (char *)dod + *entries * dodsize,
+		  nqtail);
 	    memcpy((char *)dod + *entries * dodsize, This->data_queue + nqtail, dodsize);
 	    /* Advance position */
 	    nqtail++;
Only in dlls/dinput: mouse.o
Only in dlls/dinput: regsvr.o
Only in dlls/dinput: version.res


More information about the wine-devel mailing list