Actually, this is a better fix...clear the error state once if everything we SDL-1.2
authorRyan C. Gordon <icculus@icculus.org>
Wed, 13 Jun 2007 08:00:10 +0000
branchSDL-1.2
changeset 395885b6fb6a5e3c
parent 3957 b1d5b56aa549
child 3959 33c248ea75f9
Actually, this is a better fix...clear the error state once if everything we
need loaded; it's more efficient, and works even if the last unnecessary
xrandr symbol failed to load. Otherwise, leave the original loadso error, so
the end user can find out what symbol failed.
src/video/x11/SDL_x11dyn.c
     1.1 --- a/src/video/x11/SDL_x11dyn.c	Wed Jun 13 07:54:10 2007 +0000
     1.2 +++ b/src/video/x11/SDL_x11dyn.c	Wed Jun 13 08:00:10 2007 +0000
     1.3 @@ -73,11 +73,6 @@
     1.4  		}
     1.5  	}
     1.6  
     1.7 -	if (*fn != NULL)
     1.8 -		SDL_ClearError();
     1.9 -	else
    1.10 -		SDL_SetError("Failed to load function %s from x11libs", fnname);
    1.11 -
    1.12  	#if DEBUG_DYNAMIC_X11
    1.13  	if (*fn != NULL)
    1.14  		printf("X11: Found '%s' in %s (%p)\n", fnname, x11libs[i].libname, *fn);
    1.15 @@ -170,7 +165,9 @@
    1.16  		X11_GetSym("XCreateIC",&SDL_X11_HAVE_UTF8,(void **)&pXCreateIC);
    1.17  		#endif
    1.18  
    1.19 -		if (!SDL_X11_HAVE_BASEXLIB) {  /* some required symbol didn't load. */
    1.20 +		if (SDL_X11_HAVE_BASEXLIB) {  /* all required symbols loaded. */
    1.21 +			SDL_ClearError();
    1.22 +		} else {
    1.23  			SDL_X11_UnloadSymbols();  /* in case something got loaded... */
    1.24  			rc = 0;
    1.25  		}