1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-02-04 03:40:14 +00:00

Merge branch 'alt_tab_fix' into 'master'

Do not treat Alt-Tab as resolution change

Closes #7866

See merge request OpenMW/openmw!3931
This commit is contained in:
psi29a 2024-03-08 08:41:55 +00:00
commit a926f4a5a9
3 changed files with 9 additions and 0 deletions

View File

@ -157,6 +157,7 @@
Bug #7840: First run of the launcher doesn't save viewing distance as the default value 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 #7841: Editor: "Dirty" water heights are saved in modified CELLs
Bug #7859: AutoCalc flag is not used to calculate potion value 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 #2566: Handle NAM9 records for manual cell references
Feature #3537: Shader-based water ripples Feature #3537: Shader-based water ripples
Feature #5173: Support for NiFogProperty Feature #5173: Support for NiFogProperty

View File

@ -1172,6 +1172,9 @@ namespace MWGui
void WindowManager::windowResized(int x, int y) void WindowManager::windowResized(int x, int y)
{ {
if (x == Settings::video().mResolutionX && y == Settings::video().mResolutionY)
return;
Settings::video().mResolutionX.set(x); Settings::video().mResolutionX.set(x);
Settings::video().mResolutionY.set(y); Settings::video().mResolutionY.set(y);

View File

@ -252,6 +252,11 @@ namespace SDLUtil
SDL_GL_GetDrawableSize(mSDLWindow, &w, &h); SDL_GL_GetDrawableSize(mSDLWindow, &w, &h);
int x, y; int x, y;
SDL_GetWindowPosition(mSDLWindow, &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->getCamera()->getGraphicsContext()->resized(x, y, w, h);
mViewer->getEventQueue()->windowResize(x, y, w, h); mViewer->getEventQueue()->windowResize(x, y, w, h);