From 542d9d593f74f43d98437c0f496a24dcb1db8509 Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Mon, 5 Dec 2005 04:36:53 +0000 Subject: [PATCH] Date: Sun, 04 Dec 2005 21:43:46 -0500 From: Jonathan Atkins Subject: SDL patch: DGA key events I kept seeing DGA die on me whenever I press a key. I tracked it down and it seems that the new indirect X via pointers system messed it up. It needed to have the pX* pointers well defined to call, in particular, pXNextEvent. Also, the X11_TranslateKey function prototype was changed, but not updated in the dga driver. perhaps other files are also affected. Not sure what releases may suffer from this too. thanks! -Jon Atkins --- src/video/dga/SDL_dgaevents.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/video/dga/SDL_dgaevents.c b/src/video/dga/SDL_dgaevents.c index aaaf4ee5a..52be7b86c 100644 --- a/src/video/dga/SDL_dgaevents.c +++ b/src/video/dga/SDL_dgaevents.c @@ -36,10 +36,13 @@ static char rcsid = #include "SDL_dgavideo.h" #include "SDL_dgaevents_c.h" +/* get function pointers... */ +#include "../x11/SDL_x11dyn.h" + /* Heheh we're using X11 event code */ extern int X11_Pending(Display *display); extern void X11_InitKeymap(void); -extern SDL_keysym *X11_TranslateKey(Display *display, XKeyEvent *xkey, +extern SDL_keysym *X11_TranslateKey(Display *display, XIC ic, XKeyEvent *xkey, KeyCode kc, SDL_keysym *keysym); static int DGA_DispatchEvent(_THIS) @@ -84,7 +87,7 @@ static int DGA_DispatchEvent(_THIS) SDL_NAME(XDGAKeyEventToXKeyEvent)(&xevent.xkey, &xkey); posted = SDL_PrivateKeyboard((xevent.type == KeyPress), - X11_TranslateKey(DGA_Display, + X11_TranslateKey(DGA_Display, NULL/*no XIC*/, &xkey, xkey.keycode, &keysym)); }