Fixed bug #278
Added the GFX_Display to the wminfo structure, contributed by Eric --HG-- branch : SDL-1.2 extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/branches/SDL-1.2%402107
This commit is contained in:
parent
6a16eb68dc
commit
8460b069f6
2 changed files with 15 additions and 1 deletions
|
@ -86,7 +86,8 @@ typedef struct SDL_SysWMinfo {
|
||||||
Display *display; /* The X11 display */
|
Display *display; /* The X11 display */
|
||||||
Window window; /* The X11 display window */
|
Window window; /* The X11 display window */
|
||||||
/* These locking functions should be called around
|
/* 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
|
They lock the event thread, so should not be
|
||||||
called around event functions or from event filters.
|
called around event functions or from event filters.
|
||||||
*/
|
*/
|
||||||
|
@ -96,6 +97,9 @@ typedef struct SDL_SysWMinfo {
|
||||||
/* Introduced in SDL 1.0.2 */
|
/* Introduced in SDL 1.0.2 */
|
||||||
Window fswindow; /* The X11 fullscreen window */
|
Window fswindow; /* The X11 fullscreen window */
|
||||||
Window wmwindow; /* The X11 managed input 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;
|
} x11;
|
||||||
} info;
|
} info;
|
||||||
} SDL_SysWMinfo;
|
} SDL_SysWMinfo;
|
||||||
|
|
|
@ -398,6 +398,8 @@ static void unlock_display(void)
|
||||||
XSync(SDL_Display, False);
|
XSync(SDL_Display, False);
|
||||||
SDL_Unlock_EventThread();
|
SDL_Unlock_EventThread();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
int X11_GetWMInfo(_THIS, SDL_SysWMinfo *info)
|
int X11_GetWMInfo(_THIS, SDL_SysWMinfo *info)
|
||||||
{
|
{
|
||||||
if ( info->version.major <= SDL_MAJOR_VERSION ) {
|
if ( info->version.major <= SDL_MAJOR_VERSION ) {
|
||||||
|
@ -410,6 +412,14 @@ int X11_GetWMInfo(_THIS, SDL_SysWMinfo *info)
|
||||||
info->info.x11.fswindow = FSwindow;
|
info->info.x11.fswindow = FSwindow;
|
||||||
info->info.x11.wmwindow = WMwindow;
|
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.lock_func = lock_display;
|
||||||
info->info.x11.unlock_func = unlock_display;
|
info->info.x11.unlock_func = unlock_display;
|
||||||
return(1);
|
return(1);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue