Mercurial > sdl-ios-xcode
changeset 4510:6f8175ad0335
Implemented X11 system window manager info for SDL 1.3. It's simple. Really.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Mon, 12 Jul 2010 01:20:57 -0700 |
parents | 8e91c3947210 |
children | ae7799d16c87 03dcb795c583 |
files | include/SDL_syswm.h src/video/x11/SDL_x11window.c |
diffstat | 2 files changed, 8 insertions(+), 20 deletions(-) [+] |
line wrap: on
line diff
--- a/include/SDL_syswm.h Mon Jul 12 00:49:26 2010 -0700 +++ b/include/SDL_syswm.h Mon Jul 12 01:20:57 2010 -0700 @@ -106,24 +106,6 @@ { 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. - * They lock the event thread, so should not be - * called around event functions or from event filters. - */ - /*@{*/ - void (*lock_func) (void); - void (*unlock_func) (void); - /*@}*/ - - /** - * Introduced in SDL 1.0.2. - */ - /*@{*/ - Window fswindow; /**< The X11 fullscreen window */ - Window wmwindow; /**< The X11 managed input window */ - /*@}*/ } x11; } info; };
--- a/src/video/x11/SDL_x11window.c Mon Jul 12 00:49:26 2010 -0700 +++ b/src/video/x11/SDL_x11window.c Mon Jul 12 01:20:57 2010 -0700 @@ -1014,8 +1014,14 @@ SDL_bool X11_GetWindowWMInfo(_THIS, SDL_Window * window, SDL_SysWMinfo * info) { - if (info->version.major <= SDL_MAJOR_VERSION) { - /* FIXME! */ + SDL_WindowData *data = (SDL_WindowData *) window->driverdata; + Display *display = data->videodata->display; + + if (info->version.major == SDL_MAJOR_VERSION && + info->version.minor == SDL_MINOR_VERSION) { + info->subsystem = SDL_SYSWM_X11; + info->info.x11.display = display; + info->info.x11.window = data->xwindow; return SDL_TRUE; } else { SDL_SetError("Application not compiled with SDL %d.%d\n",