X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=src%2FSDL.xs;h=defa68ca8bd9bf646a4d58ac892834d631b72a8a;hb=HEAD;hp=a84d7c0694b8c3513d94ca359c00ff4a7a1a3992;hpb=65b2187d7fca182e8689d1af3ba44f5f946dcc35;p=sdlgit%2FSDL_perl.git diff --git a/src/SDL.xs b/src/SDL.xs index a84d7c0..defa68c 100644 --- a/src/SDL.xs +++ b/src/SDL.xs @@ -110,14 +110,18 @@ extern PerlInterpreter *parent_perl; #endif -int -force_directx() +void +windows_force_driver () { -#if defined WIN32 || WINDOWS - fprintf( stderr, "SDL Gamma is unsupported in Windows for windib. Forcing directx. \n" ); - SDL_putenv("SDL_VIDEODRIVER=directx"); -#endif - return 1; + const SDL_version *version = SDL_Linked_Version(); + if(version->patch == 14) + { + putenv("SDL_VIDEODRIVER=directx"); + } + else + { + putenv("SDL_VIDEODRIVER=windib"); + } } Uint32 @@ -253,7 +257,7 @@ MODULE = SDL_perl PACKAGE = SDL PROTOTYPES : DISABLE char * -geterror () +get_error () CODE: RETVAL = SDL_GetError(); OUTPUT: @@ -264,7 +268,9 @@ init ( flags ) Uint32 flags CODE: INIT_NS_APPLICATION - force_directx(); +#if defined WINDOWS || WIN32 + windows_force_driver(); +#endif RETVAL = SDL_Init(flags); #ifdef HAVE_TLS_CONTEXT Perl_call_atexit(PERL_GET_CONTEXT, (void*)sdl_perl_atexit,0);