# HG changeset patch # User Ryan C. Gordon # Date 1319484838 14400 # Node ID 56185b574d61f91fb387169b351857f2c7535794 # Parent a7142857e885d5b12be0c72f7193fefffb735560 Use correct Xinerama APIs for querying version and availability. Fixes Bugzilla #1314. diff --git a/src/video/x11/SDL_x11modes.c b/src/video/x11/SDL_x11modes.c --- a/src/video/x11/SDL_x11modes.c +++ b/src/video/x11/SDL_x11modes.c @@ -200,6 +200,8 @@ static SDL_bool CheckXinerama(Display * display, int *major, int *minor) { + int event_base = 0; + int error_base = 0; const char *env; /* Default the extension not available */ @@ -216,7 +218,8 @@ } /* Query the extension version */ - if (!XineramaQueryExtension(display, major, minor) || + if (!XineramaQueryExtension(display, &event_base, &error_base) || + !XineramaQueryVersion(display, major, minor) || !XineramaIsActive(display)) { return SDL_FALSE; } diff --git a/src/video/x11/SDL_x11sym.h b/src/video/x11/SDL_x11sym.h --- a/src/video/x11/SDL_x11sym.h +++ b/src/video/x11/SDL_x11sym.h @@ -189,6 +189,7 @@ SDL_X11_MODULE(XINERAMA) SDL_X11_SYM(Bool,XineramaIsActive,(Display *a),(a),return) SDL_X11_SYM(Bool,XineramaQueryExtension,(Display *a,int *b,int *c),(a,b,c),return) +SDL_X11_SYM(Status,XineramaQueryVersion,(Display *a,int *b,int *c),(a,b,c),return) SDL_X11_SYM(XineramaScreenInfo*,XineramaQueryScreens,(Display *a, int *b),(a,b),return) #endif