Module: wine Branch: master Commit: d2789ef0678619d7c56a9e0c1aaa06f582a41ee3 URL: https://gitlab.winehq.org/wine/wine/-/commit/d2789ef0678619d7c56a9e0c1aaa06f...
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.
---
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); }