Module: wine Branch: stable Commit: 8b798ab30ecf29379105d5e386893f537de127d7 URL: https://gitlab.winehq.org/wine/wine/-/commit/8b798ab30ecf29379105d5e386893f5...
Author: Brendan Shanks bshanks@codeweavers.com Date: Tue May 9 15:22:44 2023 -0700
winemac: Initialize retina_on to avoid incorrect cached display data in high-res/retina mode.
retina_on was being set (indirectly) by check_retina_status(), but it relies on retina_on itself. This resulted in incorrect (non-retina) monitor and work RECTs being cached, causing odd application bugs like a window that won't resize larger than 1/4 of the screen.
Initialize retina_on to the value of retina_enabled, so later calls to check_retina_status() don't result in incorrect data being cached.
(cherry picked from commit d2789ef0678619d7c56a9e0c1aaa06f582a41ee3)
---
dlls/winemac.drv/macdrv_main.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/dlls/winemac.drv/macdrv_main.c b/dlls/winemac.drv/macdrv_main.c index eeed9a4bcbe..db4426db782 100644 --- a/dlls/winemac.drv/macdrv_main.c +++ b/dlls/winemac.drv/macdrv_main.c @@ -383,6 +383,8 @@ static void setup_options(void) if (!get_config_key(hkey, NULL, "RetinaMode", buffer, sizeof(buffer))) retina_enabled = IS_OPTION_TRUE(buffer[0]);
+ retina_on = retina_enabled; + if (appkey) NtClose(appkey); if (hkey) NtClose(hkey); }