Module: wine
Branch: master
Commit: d2789ef0678619d7c56a9e0c1aaa06f582a41ee3
URL: https://gitlab.winehq.org/wine/wine/-/commit/d2789ef0678619d7c56a9e0c1aaa06…
Author: Brendan Shanks <bshanks(a)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.
---
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 9125574e35b..a55b2686080 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);
}