diff src/video/x11/SDL_x11events.c @ 4269:60db3d01cb3a SDL-1.2

I just tested DGA mouse motion with X.org 1.6.0 and it's working fine, with evdev and the G5 mouse. It's not creating a ton of events here.
author Sam Lantinga <slouken@libsdl.org>
date Wed, 30 Sep 2009 04:49:57 +0000
parents d6f4cc9a5bf6
children 4aa31b9207f2
line wrap: on
line diff
--- a/src/video/x11/SDL_x11events.c	Tue Sep 29 13:50:33 2009 +0000
+++ b/src/video/x11/SDL_x11events.c	Wed Sep 30 04:49:57 2009 +0000
@@ -515,9 +515,9 @@
 #ifdef DEBUG_MOTION
   printf("DGA motion: %d,%d\n", xevent.xmotion.x_root, xevent.xmotion.y_root);
 #endif
-					/* batch DGA motion into one event, queued later. */
-					dga_x += xevent.xmotion.x_root;
-					dga_y += xevent.xmotion.y_root;
+					posted = SDL_PrivateMouseMotion(0, 1,
+							xevent.xmotion.x_root,
+							xevent.xmotion.y_root);
 				} else {
 					posted = X11_WarpedMotion(this,&xevent);
 				}
@@ -931,16 +931,6 @@
 		X11_DispatchEvent(this);
 		++pending;
 	}
-
-	/* We batch up all the DGA motion events and generate a single SDL
-	   event from them, since newer x.org releases might send a LOT of
-	   these at once and flood the SDL event queue. --ryan. */
-	if (dga_x || dga_y) {
-		SDL_PrivateMouseMotion(0, 1, dga_x, dga_y);
-		dga_x = 0;
-		dga_y = 0;
-	}
-
 	if ( switch_waiting ) {
 		Uint32 now;