[vlc-commits] [Git][videolan/vlc][master] win32: don't use SetThreadErrorMode in XBOX builds

Steve Lhomme (@robUx4) gitlab at videolan.org
Thu Mar 2 12:47:26 UTC 2023



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
4ff98ff5 by Steve Lhomme at 2023-03-02T12:30:32+00:00
win32: don't use SetThreadErrorMode in XBOX builds

LoadLibraryExW is available, but not SetThreadErrorMode.
DLL dependencies/errors need to be managed by the host app.

This is a sandboxed environment where the library dependencies
need to be managed manually per platform.

- - - - -


1 changed file:

- src/win32/plugin.c


Changes:

=====================================
src/win32/plugin.c
=====================================
@@ -57,15 +57,22 @@ void *vlc_dlopen(const char *psz_file, bool lazy)
         return NULL;
 
     HMODULE handle = NULL;
-#ifndef VLC_WINSTORE_APP
+#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
     DWORD mode;
     if (SetThreadErrorMode (SEM_FAILCRITICALERRORS, &mode) != 0)
     {
         handle = LoadLibraryExW(wfile, NULL, LOAD_LIBRARY_SEARCH_SYSTEM32);
         SetThreadErrorMode (mode, NULL);
     }
-#else
+#elif WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
     handle = LoadPackagedLibrary( wfile, 0 );
+#elif defined(WINAPI_FAMILY_GAMES) && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES)
+    // SEM_FAILCRITICALERRORS is not available on Xbox, error messages are not
+    // possible. This is a sandboxed environment where the library dependencies
+    // need to be managed manually per platform.
+    handle = LoadLibraryExW(wfile, NULL, LOAD_LIBRARY_SEARCH_SYSTEM32);
+#else
+#error Unknown Windows Platform!
 #endif
     free (wfile);
 



View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/4ff98ff54ec63f77441f36b10f1c3f250f1cd723

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/4ff98ff54ec63f77441f36b10f1c3f250f1cd723
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance


More information about the vlc-commits mailing list