From 23484c30a9126dcda3f589cd63e3fe2ec8b41c98 Mon Sep 17 00:00:00 2001 From: ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> Date: Tue, 18 Jun 2019 13:35:39 +0200 Subject: Slightly simpler Fl_WinAPI_Screen_Driver::init() --- src/Fl_Screen_Driver.cxx | 3 ++- src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx | 5 +---- 2 files changed, 3 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/Fl_Screen_Driver.cxx b/src/Fl_Screen_Driver.cxx index 93d0a23ea..cc54d53cb 100644 --- a/src/Fl_Screen_Driver.cxx +++ b/src/Fl_Screen_Driver.cxx @@ -452,11 +452,12 @@ int Fl_Screen_Driver::scale_handler(int event) void Fl_Screen_Driver::use_startup_scale_factor() { char *p; + int s_count = screen_count(); desktop_scale_factor(); if ((p = fl_getenv("FLTK_SCALING_FACTOR"))) { float factor = 1; sscanf(p, "%f", &factor); - for (int i = 0; i < screen_count(); i++) scale(i, factor * scale(i)); + for (int i = 0; i < s_count; i++) scale(i, factor * scale(i)); } } diff --git a/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx b/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx index 0a079a43f..5eff35d9d 100644 --- a/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx +++ b/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx @@ -113,7 +113,6 @@ void Fl_WinAPI_Screen_Driver::init() // we do a run-time check for the required functions... HMODULE hMod = GetModuleHandle("USER32.DLL"); - int old_num_screens = num_screens; if (hMod) { // check that EnumDisplayMonitors is available fl_edm_func fl_edm = (fl_edm_func)GetProcAddress(hMod, "EnumDisplayMonitors"); @@ -140,10 +139,8 @@ void Fl_WinAPI_Screen_Driver::init() screens[0].right = GetSystemMetrics(SM_CXSCREEN); screens[0].bottom = GetSystemMetrics(SM_CYSCREEN); work_area[0] = screens[0]; - scale_of_screen[0] = 1; way_out: - // prevent desktop_scale_factor() from being called twice at app startup - if (old_num_screens >= 0) desktop_scale_factor(); + desktop_scale_factor(); } -- cgit v1.2.3