Fixed bug #278 SDL-1.2
authorSam Lantinga <slouken@libsdl.org>
Sun, 24 Sep 2006 00:08:28 +0000
branchSDL-1.2
changeset 3872 be84332e761e
parent 3871 4d11f2ae7582
child 3873 cef30206da53
Fixed bug #278 Added the GFX_Display to the wminfo structure, contributed by Eric
include/SDL_syswm.h
src/video/x11/SDL_x11wm.c
--- a/include/SDL_syswm.h	Sun Sep 24 00:04:06 2006 +0000
+++ b/include/SDL_syswm.h	Sun Sep 24 00:08:28 2006 +0000
@@ -86,7 +86,8 @@
 	    	Display *display;	/* The X11 display */
 	    	Window window;		/* The X11 display window */
 		/* These locking functions should be called around
-                   any X11 functions using the display variable.
+                   any X11 functions using the display variable, 
+                   but not the gfxdisplay variable.
                    They lock the event thread, so should not be
 		   called around event functions or from event filters.
 		 */
@@ -96,6 +97,9 @@
 		/* Introduced in SDL 1.0.2 */
 	    	Window fswindow;	/* The X11 fullscreen window */
 	    	Window wmwindow;	/* The X11 managed input window */
+
+		/* Introduced in SDL 1.2.12 */
+		Display *gfxdisplay;	/* The X11 display to which rendering is done */
 	    } x11;
 	} info;
 } SDL_SysWMinfo;
--- a/src/video/x11/SDL_x11wm.c	Sun Sep 24 00:04:06 2006 +0000
+++ b/src/video/x11/SDL_x11wm.c	Sun Sep 24 00:08:28 2006 +0000
@@ -398,6 +398,8 @@
 	XSync(SDL_Display, False);
 	SDL_Unlock_EventThread();
 }
+
+#include <stdio.h>
 int X11_GetWMInfo(_THIS, SDL_SysWMinfo *info)
 {
 	if ( info->version.major <= SDL_MAJOR_VERSION ) {
@@ -410,6 +412,14 @@
 			info->info.x11.fswindow = FSwindow;
 			info->info.x11.wmwindow = WMwindow;
 		}
+
+
+		if ( SDL_VERSIONNUM(info->version.major,
+		                    info->version.minor,
+		                    info->version.patch) >= 1212 ) {
+			info->info.x11.gfxdisplay = GFX_Display;
+		}
+
 		info->info.x11.lock_func = lock_display;
 		info->info.x11.unlock_func = unlock_display;
 		return(1);