changeset 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 d48035d857d3
children 6b7f9089105e
files src/video/x11/SDL_x11events.c src/video/x11/SDL_x11video.h
diffstat 2 files changed, 3 insertions(+), 17 deletions(-) [+]
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;
 
--- a/src/video/x11/SDL_x11video.h	Tue Sep 29 13:50:33 2009 +0000
+++ b/src/video/x11/SDL_x11video.h	Wed Sep 30 04:49:57 2009 +0000
@@ -70,8 +70,6 @@
 
     /* Direct Graphics Access extension information */
     int using_dga;
-    Sint16 dga_x;
-    Sint16 dga_y;
 
 #ifndef NO_SHARED_MEMORY
     /* MIT shared memory extension information */
@@ -174,8 +172,6 @@
 #define SDL_IC			(this->hidden->X11_IC)
 #define SDL_windowid		(this->hidden->SDL_windowid)
 #define using_dga		(this->hidden->using_dga)
-#define dga_x			(this->hidden->dga_x)
-#define dga_y			(this->hidden->dga_y)
 #define use_mitshm		(this->hidden->use_mitshm)
 #define shminfo			(this->hidden->shminfo)
 #define SDL_Ximage		(this->hidden->Ximage)