Pārlūkot izejas kodu

time: Fix UWP build

Frank Praznik 1 gadu atpakaļ
vecāks
revīzija
a00ac61514
1 mainītis faili ar 10 papildinājumiem un 3 dzēšanām
  1. 10 3
      src/time/windows/SDL_systime.c

+ 10 - 3
src/time/windows/SDL_systime.c

@@ -79,14 +79,20 @@ found_date:
 
 int SDL_GetCurrentTime(SDL_Time *ticks)
 {
-    static pfnGetSystemTimePreciseAsFileTime pGetSystemTimePreciseAsFileTime = NULL;
-    static SDL_bool load_attempted = SDL_FALSE;
     FILETIME ft;
 
     if (!ticks) {
         return SDL_InvalidParamError("ticks");
     }
 
+    SDL_zero(ft);
+
+#ifdef SDL_PLATFORM_WINRT
+    GetSystemTimePreciseAsFileTime(&ft);
+#else
+    static pfnGetSystemTimePreciseAsFileTime pGetSystemTimePreciseAsFileTime = NULL;
+    static SDL_bool load_attempted = SDL_FALSE;
+
     /* Only available in Win8/Server 2012 or higher. */
     if (!pGetSystemTimePreciseAsFileTime && !load_attempted) {
         HANDLE kernel32 = GetModuleHandle(TEXT("kernel32.dll"));
@@ -96,12 +102,13 @@ int SDL_GetCurrentTime(SDL_Time *ticks)
         load_attempted = SDL_TRUE;
     }
 
-    SDL_zero(ft);
     if (pGetSystemTimePreciseAsFileTime) {
         pGetSystemTimePreciseAsFileTime(&ft);
     } else {
         GetSystemTimeAsFileTime(&ft);
     }
+#endif
+
     *ticks = SDL_TimeFromWindows(ft.dwLowDateTime, ft.dwHighDateTime);
 
     return 0;