Mercurial > sdl-ios-xcode
diff src/video/x11/SDL_x11dyn.c @ 1895:c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Mon, 10 Jul 2006 21:04:37 +0000 |
parents | 9e85b267f8f3 |
children |
line wrap: on
line diff
--- a/src/video/x11/SDL_x11dyn.c Thu Jul 06 18:01:37 2006 +0000 +++ b/src/video/x11/SDL_x11dyn.c Mon Jul 10 21:04:37 2006 +0000 @@ -53,35 +53,35 @@ #define SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR NULL #endif -static x11dynlib x11libs[] = -{ - { NULL, SDL_VIDEO_DRIVER_X11_DYNAMIC }, - { NULL, SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT }, - { NULL, SDL_VIDEO_DRIVER_X11_DYNAMIC_XRENDER }, - { NULL, SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR }, +static x11dynlib x11libs[] = { + {NULL, SDL_VIDEO_DRIVER_X11_DYNAMIC}, + {NULL, SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT}, + {NULL, SDL_VIDEO_DRIVER_X11_DYNAMIC_XRENDER}, + {NULL, SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR}, }; -static void X11_GetSym(const char *fnname, int *rc, void **fn) +static void +X11_GetSym(const char *fnname, int *rc, void **fn) { - int i; - for (i = 0; i < SDL_TABLESIZE(x11libs); i++) { - if (x11libs[i].lib != NULL) - { - *fn = SDL_LoadFunction(x11libs[i].lib, fnname); - if (*fn != NULL) - break; - } - } + int i; + for (i = 0; i < SDL_TABLESIZE(x11libs); i++) { + if (x11libs[i].lib != NULL) { + *fn = SDL_LoadFunction(x11libs[i].lib, fnname); + if (*fn != NULL) + break; + } + } - #if DEBUG_DYNAMIC_X11 - if (*fn != NULL) - printf("X11: Found '%s' in %s (%p)\n", fnname, x11libs[i].libname, *fn); - else - printf("X11: Symbol '%s' NOT FOUND!\n", fnname); - #endif +#if DEBUG_DYNAMIC_X11 + if (*fn != NULL) + printf("X11: Found '%s' in %s (%p)\n", fnname, x11libs[i].libname, + *fn); + else + printf("X11: Symbol '%s' NOT FOUND!\n", fnname); +#endif - if (*fn == NULL) - *rc = 0; /* kill this module. */ + if (*fn == NULL) + *rc = 0; /* kill this module. */ } @@ -93,11 +93,11 @@ #include "SDL_x11sym.h" #undef SDL_X11_MODULE #undef SDL_X11_SYM -#endif /* SDL_VIDEO_DRIVER_X11_DYNAMIC */ +#endif /* SDL_VIDEO_DRIVER_X11_DYNAMIC */ /* Annoying varargs entry point... */ #ifdef X_HAVE_UTF8_STRING -XIC (*pXCreateIC)(XIM,...) = NULL; +XIC(*pXCreateIC) (XIM,...) = NULL; #endif /* These SDL_X11_HAVE_* flags are here whether you have dynamic X11 or not. */ @@ -110,77 +110,76 @@ static int x11_load_refcount = 0; -void SDL_X11_UnloadSymbols(void) +void +SDL_X11_UnloadSymbols(void) { - #ifdef SDL_VIDEO_DRIVER_X11_DYNAMIC - /* Don't actually unload if more than one module is using the libs... */ - if (x11_load_refcount > 0) { - if (--x11_load_refcount == 0) { - int i; +#ifdef SDL_VIDEO_DRIVER_X11_DYNAMIC + /* Don't actually unload if more than one module is using the libs... */ + if (x11_load_refcount > 0) { + if (--x11_load_refcount == 0) { + int i; - /* set all the function pointers to NULL. */ - #define SDL_X11_MODULE(modname) SDL_X11_HAVE_##modname = 1; - #define SDL_X11_SYM(rc,fn,params,args,ret) p##fn = NULL; - #include "SDL_x11sym.h" - #undef SDL_X11_MODULE - #undef SDL_X11_SYM + /* set all the function pointers to NULL. */ +#define SDL_X11_MODULE(modname) SDL_X11_HAVE_##modname = 1; +#define SDL_X11_SYM(rc,fn,params,args,ret) p##fn = NULL; +#include "SDL_x11sym.h" +#undef SDL_X11_MODULE +#undef SDL_X11_SYM - #ifdef X_HAVE_UTF8_STRING - pXCreateIC = NULL; - #endif +#ifdef X_HAVE_UTF8_STRING + pXCreateIC = NULL; +#endif - for (i = 0; i < SDL_TABLESIZE(x11libs); i++) { - if (x11libs[i].lib != NULL) { - SDL_UnloadObject(x11libs[i].lib); - x11libs[i].lib = NULL; - } - } - } - } - #endif + for (i = 0; i < SDL_TABLESIZE(x11libs); i++) { + if (x11libs[i].lib != NULL) { + SDL_UnloadObject(x11libs[i].lib); + x11libs[i].lib = NULL; + } + } + } + } +#endif } /* returns non-zero if all needed symbols were loaded. */ -int SDL_X11_LoadSymbols(void) +int +SDL_X11_LoadSymbols(void) { - int rc = 1; /* always succeed if not using Dynamic X11 stuff. */ - - #ifdef SDL_VIDEO_DRIVER_X11_DYNAMIC - /* deal with multiple modules (dga, x11, etc) needing these symbols... */ - if (x11_load_refcount++ == 0) { - int i; - int *thismod = NULL; - for (i = 0; i < SDL_TABLESIZE(x11libs); i++) { - if (x11libs[i].libname != NULL) { - x11libs[i].lib = SDL_LoadObject(x11libs[i].libname); - } - } - #define SDL_X11_MODULE(modname) thismod = &SDL_X11_HAVE_##modname; - #define SDL_X11_SYM(a,fn,x,y,z) X11_GetSym(#fn,thismod,(void**)&p##fn); - #include "SDL_x11sym.h" - #undef SDL_X11_MODULE - #undef SDL_X11_SYM + int rc = 1; /* always succeed if not using Dynamic X11 stuff. */ - #ifdef X_HAVE_UTF8_STRING - X11_GetSym("XCreateIC",&SDL_X11_HAVE_UTF8,(void **)&pXCreateIC); - #endif +#ifdef SDL_VIDEO_DRIVER_X11_DYNAMIC + /* deal with multiple modules (dga, x11, etc) needing these symbols... */ + if (x11_load_refcount++ == 0) { + int i; + int *thismod = NULL; + for (i = 0; i < SDL_TABLESIZE(x11libs); i++) { + if (x11libs[i].libname != NULL) { + x11libs[i].lib = SDL_LoadObject(x11libs[i].libname); + } + } +#define SDL_X11_MODULE(modname) thismod = &SDL_X11_HAVE_##modname; +#define SDL_X11_SYM(a,fn,x,y,z) X11_GetSym(#fn,thismod,(void**)&p##fn); +#include "SDL_x11sym.h" +#undef SDL_X11_MODULE +#undef SDL_X11_SYM - if (!SDL_X11_HAVE_BASEXLIB) { /* some required symbol didn't load. */ - SDL_X11_UnloadSymbols(); /* in case something got loaded... */ - rc = 0; - } - } - #else - #if DEBUG_DYNAMIC_X11 - printf("X11: No dynamic X11 support in this build of SDL.\n"); - #endif - #ifdef X_HAVE_UTF8_STRING - pXCreateIC = XCreateIC; - #endif - #endif +#ifdef X_HAVE_UTF8_STRING + X11_GetSym("XCreateIC", &SDL_X11_HAVE_UTF8, (void **) &pXCreateIC); +#endif - return rc; + if (!SDL_X11_HAVE_BASEXLIB) { /* some required symbol didn't load. */ + SDL_X11_UnloadSymbols(); /* in case something got loaded... */ + rc = 0; + } + } +#else +#ifdef X_HAVE_UTF8_STRING + pXCreateIC = XCreateIC; +#endif +#endif + + return rc; } /* end of SDL_x11dyn.c ... */ - +/* vi: set ts=4 sw=4 expandtab: */