From 168d1a9253244f9dd1fdc771a362fee9e27aa22d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Christian=20K=C3=BCndig?= <[EMAIL REDACTED]>
Date: Mon, 12 May 2025 21:10:28 +0200
Subject: [PATCH] emscripten: Proxy Emscripten_GetSystemTheme and
EMSCRIPTENAUDIO_OpenDevice to the main thread.
---
src/audio/emscripten/SDL_emscriptenaudio.c | 2 +-
src/video/emscripten/SDL_emscriptenvideo.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/audio/emscripten/SDL_emscriptenaudio.c b/src/audio/emscripten/SDL_emscriptenaudio.c
index 55fb5b49fc327..46b8b7645bf1b 100644
--- a/src/audio/emscripten/SDL_emscriptenaudio.c
+++ b/src/audio/emscripten/SDL_emscriptenaudio.c
@@ -189,7 +189,7 @@ static bool EMSCRIPTENAUDIO_OpenDevice(SDL_AudioDevice *device)
}
// limit to native freq
- device->spec.freq = EM_ASM_INT({ return Module['SDL3'].audioContext.sampleRate; });
+ device->spec.freq = MAIN_THREAD_EM_ASM_INT({ return Module['SDL3'].audioContext.sampleRate; });
device->sample_frames = SDL_GetDefaultSampleFramesFromFreq(device->spec.freq) * 2; // double the buffer size, some browsers need more, and we'll just have to live with the latency.
SDL_UpdatedAudioDeviceFormat(device);
diff --git a/src/video/emscripten/SDL_emscriptenvideo.c b/src/video/emscripten/SDL_emscriptenvideo.c
index 8ddcb95a5d86a..d1f1a6963f9dc 100644
--- a/src/video/emscripten/SDL_emscriptenvideo.c
+++ b/src/video/emscripten/SDL_emscriptenvideo.c
@@ -64,7 +64,7 @@ static SDL_SystemTheme Emscripten_GetSystemTheme(void)
/* Technically, light theme can mean explicit light theme or no preference.
https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme#syntax */
- int theme_code = EM_ASM_INT({
+ int theme_code = MAIN_THREAD_EM_ASM_INT({
if (!window.matchMedia) {
return -1;
}