retina_enabled is set to the value of the RetinaEnabled registry key, and retina_on is TRUE when: retina_enabled is TRUE, and the display mode has not changed since Wine was launched.
retina_on was being set (indirectly) by check_retina_status(), but it
relies on retina_on itself.
(check_retina_status() -> create_original_display_mode_descriptor() -> init_original_display_mode() -> macdrv_get_displays() -> cgrect_win_from_mac() which accesses retina_on)
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.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2789
--
v3: wineps: Define PSDRV_PDEVICE structure in unixlib.
wineps: Rename PSDRV_PDEVICE structure to print_ctx.
wineps: Move remaining DC driver functions to unixlib.
gdi32: Add device name to wine_get_gdi_driver call.
wineps: Remove no longer used PSDRV_StartDoc and PSDRV_EndDoc functions.
wineps: Remove no longer used font selection code from PE side.
wineps: Don't use BUILTIN structure on PE side.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2783
--
v2: wineps: Define PSDRV_PDEVICE structure in unixlib.
wineps: Rename PSDRV_PDEVICE structure to print_ctx.
wineps: Move remaining DC driver functions to unixlib.
gdi32: Add device name to wine_get_gdi_driver call.
wineps: Remove no longer used PSDRV_StartDoc and PSDRV_EndDoc functions.
wineps: Remove no longer used font selection code from PE side.
wineps: Don't use BUILTIN structure on PE side.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2783