From d10b0d503b7149a4fb1d1c632f292655d3a0488b Mon Sep 17 00:00:00 2001 From: Andrei Kortunov Date: Mon, 22 Apr 2024 11:26:09 +0400 Subject: [PATCH] Do not take in account UI scaling factor twice --- apps/openmw/mwgui/windowbase.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/apps/openmw/mwgui/windowbase.cpp b/apps/openmw/mwgui/windowbase.cpp index eff5c98588..f5d90590f8 100644 --- a/apps/openmw/mwgui/windowbase.cpp +++ b/apps/openmw/mwgui/windowbase.cpp @@ -7,7 +7,6 @@ #include "../mwbase/environment.hpp" #include "../mwbase/windowmanager.hpp" -#include #include #include "draganddrop.hpp" @@ -80,12 +79,12 @@ void WindowBase::center() void WindowBase::clampWindowCoordinates(MyGUI::Window* window) { - auto minSize = window->getMinSize(); - minSize.height = static_cast(minSize.height * Settings::gui().mScalingFactor); - minSize.width = static_cast(minSize.width * Settings::gui().mScalingFactor); + MyGUI::IntSize viewSize = MyGUI::RenderManager::getInstance().getViewSize(); + if (window->getLayer()) + viewSize = window->getLayer()->getSize(); // Window's minimum size is larger than the screen size, can not clamp coordinates - MyGUI::IntSize viewSize = MyGUI::RenderManager::getInstance().getViewSize(); + auto minSize = window->getMinSize(); if (minSize.width > viewSize.width || minSize.height > viewSize.height) return;