diff --git a/src/frontend/qt_sdl/main.cpp b/src/frontend/qt_sdl/main.cpp index b88e7e2f..cb7249f2 100644 --- a/src/frontend/qt_sdl/main.cpp +++ b/src/frontend/qt_sdl/main.cpp @@ -379,6 +379,14 @@ void EmuThread::updateScreenSettings(bool filter, const WindowInfo& windowInfo, { screenSettingsLock.lock(); + if (lastScreenWidth != windowInfo.surface_width || lastScreenHeight != windowInfo.surface_height) + { + if (oglContext) + oglContext->ResizeSurface(windowInfo.surface_width, windowInfo.surface_height); + lastScreenWidth = windowInfo.surface_width; + lastScreenHeight = windowInfo.surface_height; + } + this->filter = filter; this->windowInfo = windowInfo; this->numScreens = numScreens; @@ -553,16 +561,6 @@ void EmuThread::run() } } - screenSettingsLock.lock(); - if (lastScreenWidth != windowInfo.surface_width || lastScreenHeight != windowInfo.surface_height) - { - if (oglContext) - oglContext->ResizeSurface(windowInfo.surface_width, windowInfo.surface_height); - lastScreenWidth = windowInfo.surface_width; - lastScreenHeight = windowInfo.surface_height; - } - screenSettingsLock.unlock(); - if (EmuRunning == 1 || EmuRunning == 3) { EmuStatus = 1; diff --git a/src/frontend/qt_sdl/main.h b/src/frontend/qt_sdl/main.h index 51b07fc7..9ec5c04f 100644 --- a/src/frontend/qt_sdl/main.h +++ b/src/frontend/qt_sdl/main.h @@ -112,8 +112,7 @@ private: int numScreens; bool filter; - int lastScreenWidth = -1; - int lastScreenHeight = -1; + int lastScreenWidth = -1, lastScreenHeight = -1; };