Mercurial > sdl-ios-xcode
diff src/video/x11/SDL_x11dyn.c @ 1659:14717b52abc0 SDL-1.3
Merge trunk-1.3-3
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Wed, 17 May 2006 08:18:28 +0000 |
parents | 9f59d4c5aaea |
children | 782fd950bd46 9e85b267f8f3 |
line wrap: on
line diff
--- a/src/video/x11/SDL_x11dyn.c Mon May 01 06:58:33 2006 +0000 +++ b/src/video/x11/SDL_x11dyn.c Wed May 17 08:18:28 2006 +0000 @@ -61,30 +61,27 @@ { NULL, SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR }, }; -static void *X11_GetSym(const char *fnname, int *rc) +static void X11_GetSym(const char *fnname, int *rc, void **fn) { int i; - void *fn = NULL; for (i = 0; i < SDL_TABLESIZE(x11libs); i++) { if (x11libs[i].lib != NULL) { - fn = SDL_LoadFunction(x11libs[i].lib, fnname); - if (fn != 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); + 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) + if (*fn == NULL) *rc = 0; /* kill this module. */ - - return fn; } @@ -159,13 +156,13 @@ } } #define SDL_X11_MODULE(modname) thismod = &SDL_X11_HAVE_##modname; - #define SDL_X11_SYM(a,fn,x,y,z) p##fn = X11_GetSym(#fn,thismod); + #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 #ifdef X_HAVE_UTF8_STRING - pXCreateIC = X11_GetSym("XCreateIC",&SDL_X11_HAVE_UTF8); + X11_GetSym("XCreateIC",&SDL_X11_HAVE_UTF8,(void **)&pXCreateIC); #endif if (!SDL_X11_HAVE_BASEXLIB) { /* some required symbol didn't load. */