From c508239e9166037502a075f66d76a27df36627cf Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Sat, 11 Oct 2025 11:46:15 -0400 Subject: [PATCH] emscripten: Add a stub SetWindowResizable implementation. This is needed or SDL_SetWindowResizable won't let you change the window's SDL_WINDOW_RESIZABLE flag. Fixes #12405. --- src/video/emscripten/SDL_emscriptenvideo.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/video/emscripten/SDL_emscriptenvideo.c b/src/video/emscripten/SDL_emscriptenvideo.c index 9f12f09b57..bb7f7ba8e4 100644 --- a/src/video/emscripten/SDL_emscriptenvideo.c +++ b/src/video/emscripten/SDL_emscriptenvideo.c @@ -42,6 +42,7 @@ static bool Emscripten_GetDisplayUsableBounds(SDL_VideoDevice *_this, SDL_VideoD static bool Emscripten_CreateWindow(SDL_VideoDevice *_this, SDL_Window *window, SDL_PropertiesID create_props); static void Emscripten_SetWindowSize(SDL_VideoDevice *_this, SDL_Window *window); +static void Emscripten_SetWindowResizable(SDL_VideoDevice *_this, SDL_Window * window, bool resizable); static void Emscripten_GetWindowSizeInPixels(SDL_VideoDevice *_this, SDL_Window *window, int *w, int *h); static void Emscripten_DestroyWindow(SDL_VideoDevice *_this, SDL_Window *window); static SDL_FullscreenResult Emscripten_SetWindowFullscreen(SDL_VideoDevice *_this, SDL_Window *window, SDL_VideoDisplay *display, SDL_FullscreenOp fullscreen); @@ -159,6 +160,7 @@ static SDL_VideoDevice *Emscripten_CreateDevice(void) /*device->SetWindowIcon = Emscripten_SetWindowIcon; device->SetWindowPosition = Emscripten_SetWindowPosition;*/ device->SetWindowSize = Emscripten_SetWindowSize; + device->SetWindowResizable = Emscripten_SetWindowResizable; /*device->ShowWindow = Emscripten_ShowWindow; device->HideWindow = Emscripten_HideWindow; device->RaiseWindow = Emscripten_RaiseWindow; @@ -580,6 +582,11 @@ static bool Emscripten_CreateWindow(SDL_VideoDevice *_this, SDL_Window *window, return true; } +static void Emscripten_SetWindowResizable(SDL_VideoDevice *_this, SDL_Window * window, bool resizable) +{ + // this function just has to exist or the higher level won't let the window change its SDL_WINDOW_RESIZABLE flag. +} + static void Emscripten_SetWindowSize(SDL_VideoDevice *_this, SDL_Window *window) { if (window->internal) {