From 61ab097e1b42892285fccfe083fe57a9b7c8cee9 Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Mon, 24 Oct 2011 15:33:58 -0400 Subject: [PATCH] Use correct Xinerama APIs for querying version and availability. Fixes Bugzilla #1314. --- src/video/x11/SDL_x11modes.c | 5 ++++- src/video/x11/SDL_x11sym.h | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/video/x11/SDL_x11modes.c b/src/video/x11/SDL_x11modes.c index da62bb2d4..b26c4c062 100644 --- a/src/video/x11/SDL_x11modes.c +++ b/src/video/x11/SDL_x11modes.c @@ -200,6 +200,8 @@ int vm_event, vm_error = -1; 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 @@ CheckXinerama(Display * display, int *major, int *minor) } /* 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 index d506bec72..5b47b1c61 100644 --- a/src/video/x11/SDL_x11sym.h +++ b/src/video/x11/SDL_x11sym.h @@ -189,6 +189,7 @@ SDL_X11_SYM(Cursor,XcursorImageLoadCursor,(Display *a,const XcursorImage *b),(a, 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