# HG changeset patch # User Sam Lantinga # Date 1159056508 0 # Node ID be84332e761e565d0dbdc6a1857a23885b8f5cce # Parent 4d11f2ae75825514cfbe06bcdc294690e5b110b3 Fixed bug #278 Added the GFX_Display to the wminfo structure, contributed by Eric diff -r 4d11f2ae7582 -r be84332e761e include/SDL_syswm.h --- 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; diff -r 4d11f2ae7582 -r be84332e761e src/video/x11/SDL_x11wm.c --- 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 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);