From 5d79977ec7a6b58afa6e4817035aaaba186f7e9f Mon Sep 17 00:00:00 2001 From: "Azamat H. Hackimov" Date: Sun, 2 Jun 2013 20:48:53 +0600 Subject: [PATCH] Fix compilation with libX11 >= 1.5.99.902. These changes fixes bug #1769 for SDL 1.2 (http://bugzilla.libsdl.org/show_bug.cgi?id=1769). --- configure.in | 11 +++++++++++ include/SDL_config.h.in | 1 + src/video/x11/SDL_x11sym.h | 4 ++++ 3 files changed, 16 insertions(+) diff --git a/configure.in b/configure.in index 6d42829e2..d9cdd200f 100644 --- a/configure.in +++ b/configure.in @@ -1169,6 +1169,17 @@ AC_HELP_STRING([--enable-video-x11-xrandr], [enable X11 Xrandr extension for ful if test x$definitely_enable_video_x11_xrandr = xyes; then AC_DEFINE(SDL_VIDEO_DRIVER_X11_XRANDR) fi + AC_MSG_CHECKING(for const parameter to _XData32) + have_const_param_xdata32=no + AC_TRY_COMPILE([ + #include + extern int _XData32(Display *dpy,register _Xconst long *data,unsigned len); + ],[ + ],[ + have_const_param_xdata32=yes + AC_DEFINE(SDL_VIDEO_DRIVER_X11_CONST_PARAM_XDATA32) + ]) + AC_MSG_RESULT($have_const_param_xdata32) fi fi } diff --git a/include/SDL_config.h.in b/include/SDL_config.h.in index 1d9730346..7b94ea52b 100644 --- a/include/SDL_config.h.in +++ b/include/SDL_config.h.in @@ -283,6 +283,7 @@ #undef SDL_VIDEO_DRIVER_WINDIB #undef SDL_VIDEO_DRIVER_WSCONS #undef SDL_VIDEO_DRIVER_X11 +#undef SDL_VIDEO_DRIVER_X11_CONST_PARAM_XDATA32 #undef SDL_VIDEO_DRIVER_X11_DGAMOUSE #undef SDL_VIDEO_DRIVER_X11_DYNAMIC #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT diff --git a/src/video/x11/SDL_x11sym.h b/src/video/x11/SDL_x11sym.h index 4875b989c..bd83f7f5c 100644 --- a/src/video/x11/SDL_x11sym.h +++ b/src/video/x11/SDL_x11sym.h @@ -165,7 +165,11 @@ SDL_X11_SYM(Bool,XShmQueryExtension,(Display* a),(a),return) */ #ifdef LONG64 SDL_X11_MODULE(IO_32BIT) +#if SDL_VIDEO_DRIVER_X11_CONST_PARAM_XDATA32 +SDL_X11_SYM(int,_XData32,(Display *dpy,register _Xconst long *data,unsigned len),(dpy,data,len),return) +#else SDL_X11_SYM(int,_XData32,(Display *dpy,register long *data,unsigned len),(dpy,data,len),return) +#endif SDL_X11_SYM(void,_XRead32,(Display *dpy,register long *data,long len),(dpy,data,len),) #endif