Our minimum Windows version is Windows 2000, so it's okay to directly call InitializeCriticalSectionAndSpinCount()..
authorSam Lantinga <slouken@libsdl.org>
Thu, 17 Feb 2011 09:26:15 -0800
changeset 5336 66d3c4a6d6f8
parent 5335 2bb1233924f1
child 5337 d5d312a82d40
Our minimum Windows version is Windows 2000, so it's okay to directly call InitializeCriticalSectionAndSpinCount()..
src/core/windows/SDL_windows.h
src/thread/windows/SDL_sysmutex.c
src/video/windows/SDL_windowsmouse.c
--- a/src/core/windows/SDL_windows.h	Thu Feb 17 09:13:12 2011 -0800
+++ b/src/core/windows/SDL_windows.h	Thu Feb 17 09:26:15 2011 -0800
@@ -30,8 +30,8 @@
 #ifndef UNICODE
 #define UNICODE 1
 #endif
-#undef WINVER
-#define WINVER  0x500           /* Need 0x410 for AlphaBlend() and 0x500 for EnumDisplayDevices() */
+#undef _WIN32_WINNT
+#define _WIN32_WINNT  0x500   /* Need 0x410 for AlphaBlend() and 0x500 for EnumDisplayDevices() */
 
 #include <windows.h>
 
--- a/src/thread/windows/SDL_sysmutex.c	Thu Feb 17 09:13:12 2011 -0800
+++ b/src/thread/windows/SDL_sysmutex.c	Thu Feb 17 09:26:15 2011 -0800
@@ -38,29 +38,17 @@
 SDL_CreateMutex(void)
 {
     SDL_mutex *mutex;
-    static DWORD (WINAPI*pf_SetCriticalSectionSpinCount)(LPCRITICAL_SECTION, DWORD) = NULL;
-    static HMODULE kernel32 = NULL;
-
-    /* One time logic - detect WinNT */
-    if(kernel32 == NULL) {
-        kernel32 = GetModuleHandleA("kernel32.dll");
-		if(kernel32) {
-            /* Attempt to resolve symbol -- Win9x gets NULL */
-            pf_SetCriticalSectionSpinCount = (DWORD (WINAPI*)(LPCRITICAL_SECTION, DWORD))GetProcAddress(kernel32, "SetCriticalSectionSpinCount");
-        }
-		else
-			kernel32 = (HMODULE)0x01; /* don't try to init again */
-	}
-
 
     /* Allocate mutex memory */
     mutex = (SDL_mutex *) SDL_malloc(sizeof(*mutex));
     if (mutex) {
         /* Initialize */
+#ifdef _WIN32_WCE
         InitializeCriticalSection(&mutex->cs);
-
+#else
         /* On SMP systems, a non-zero spin count generally helps performance */
-        if(pf_SetCriticalSectionSpinCount) pf_SetCriticalSectionSpinCount(&mutex->cs, 2000);
+        InitializeCriticalSectionAndSpinCount(&mutex->cs, 2000);
+#endif
     } else {
         SDL_OutOfMemory();
     }
--- a/src/video/windows/SDL_windowsmouse.c	Thu Feb 17 09:13:12 2011 -0800
+++ b/src/video/windows/SDL_windowsmouse.c	Thu Feb 17 09:26:15 2011 -0800
@@ -20,13 +20,6 @@
     slouken@libsdl.org
 */
 
-/* we need to define it, so that raw input is included*/
-
-#if (_WIN32_WINNT < 0x0501)
-#undef _WIN32_WINNT
-#define _WIN32_WINNT 0x0501
-#endif
-
 #include "SDL_config.h"
 
 #include "SDL_windowsvideo.h"