# HG changeset patch # User Sam Lantinga # Date 1254286197 0 # Node ID 60db3d01cb3a6b6f5afd795b74e60c83e4b0a56d # Parent d48035d857d32c52b30eab45791ffc4a99306fb0 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. diff -r d48035d857d3 -r 60db3d01cb3a src/video/x11/SDL_x11events.c --- 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; diff -r d48035d857d3 -r 60db3d01cb3a src/video/x11/SDL_x11video.h --- 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)