As part of Jorgen's code review of this function I added a call to LoadLibrary so the refcounts would be consistent between Windows and Posix. Then I forgot to include the check that the thing was actually loaded and caused it to be loaded all the time. Oops. CR: AaronL
diff --git a/src/loadso/windows/SDL_sysloadso.c b/src/loadso/windows/SDL_sysloadso.c
index 4ff36af..ac870d9 100644
--- a/src/loadso/windows/SDL_sysloadso.c
+++ b/src/loadso/windows/SDL_sysloadso.c
@@ -55,7 +55,8 @@ SDL_GetLoadedObject(const char *sofile)
/* if we got a handle, call LoadLibrary to get
* it again with the ref count incremented.
* We do this to match the dlopen version of this function */
- handle = (void *)LoadLibrary( tstr );
+ if( handle != NULL )
+ handle = (void *)LoadLibrary( tstr );
SDL_free(tstr);