From 5dcac4c48f54e5666df8774f7d685abd7d8a75ce Mon Sep 17 00:00:00 2001 From: Andrei Kortunov Date: Thu, 7 Mar 2024 15:43:35 +0400 Subject: [PATCH] Do not treat Alt-Tab as resolution change (bug 7866) --- CHANGELOG.md | 1 + apps/openmw/mwgui/windowmanagerimp.cpp | 3 +++ components/sdlutil/sdlinputwrapper.cpp | 5 +++++ 3 files changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 953801b345..ddbab574d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -157,6 +157,7 @@ Bug #7840: First run of the launcher doesn't save viewing distance as the default value Bug #7841: Editor: "Dirty" water heights are saved in modified CELLs Bug #7859: AutoCalc flag is not used to calculate potion value + Bug #7866: Alt-tabbing is considered as a resolution change Feature #2566: Handle NAM9 records for manual cell references Feature #3537: Shader-based water ripples Feature #5173: Support for NiFogProperty diff --git a/apps/openmw/mwgui/windowmanagerimp.cpp b/apps/openmw/mwgui/windowmanagerimp.cpp index e463443b0c..4a87b38324 100644 --- a/apps/openmw/mwgui/windowmanagerimp.cpp +++ b/apps/openmw/mwgui/windowmanagerimp.cpp @@ -1172,6 +1172,9 @@ namespace MWGui void WindowManager::windowResized(int x, int y) { + if (x == Settings::video().mResolutionX && y == Settings::video().mResolutionY) + return; + Settings::video().mResolutionX.set(x); Settings::video().mResolutionY.set(y); diff --git a/components/sdlutil/sdlinputwrapper.cpp b/components/sdlutil/sdlinputwrapper.cpp index cc9706732e..43de84bb70 100644 --- a/components/sdlutil/sdlinputwrapper.cpp +++ b/components/sdlutil/sdlinputwrapper.cpp @@ -252,6 +252,11 @@ namespace SDLUtil SDL_GL_GetDrawableSize(mSDLWindow, &w, &h); int x, y; SDL_GetWindowPosition(mSDLWindow, &x, &y); + + // Happens when you Alt-Tab out of game + if (w == 0 && h == 0) + return; + mViewer->getCamera()->getGraphicsContext()->resized(x, y, w, h); mViewer->getEventQueue()->windowResize(x, y, w, h);