Explicitly initialize COM with multi-threaded support. This is the safest option for applications that use COM, multi-threaded or not.
diff --git a/src/core/windows/SDL_windows.c b/src/core/windows/SDL_windows.c
index 6ac86a6..8de46a7 100644
--- a/src/core/windows/SDL_windows.c
+++ b/src/core/windows/SDL_windows.c
@@ -45,7 +45,7 @@ WIN_SetError(const char *prefix)
HRESULT
WIN_CoInitialize(void)
{
- const HRESULT hr = CoInitialize(NULL);
+ const HRESULT hr = CoInitializeEx(NULL, COINIT_MULTITHREADED);
/* S_FALSE means success, but someone else already initialized. */
/* You still need to call CoUninitialize in this case! */