diff options
| author | Albrecht Schlosser <albrechts.fltk@online.de> | 2017-06-15 15:39:55 +0000 |
|---|---|---|
| committer | Albrecht Schlosser <albrechts.fltk@online.de> | 2017-06-15 15:39:55 +0000 |
| commit | e14c387e8e69024a16db110ec5b1a9a08a5a6169 (patch) | |
| tree | b939affdd1fe05f20fe3346b1d7000d84dbb99e4 /src | |
| parent | a10eae7443138412ba2410fd29ccdea4a94f80d7 (diff) | |
Limit initial scaling factor to sensible values.
FLTK_SCALING_FACTOR=0 or negative values would issue unexpected
X11 warnings or crash immediately.
Also commented out scaling factor output statements (printf).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12261 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src')
| -rw-r--r-- | src/Fl_Screen_Driver.cxx | 3 | ||||
| -rw-r--r-- | src/drivers/X11/Fl_X11_Screen_Driver.cxx | 6 |
2 files changed, 6 insertions, 3 deletions
diff --git a/src/Fl_Screen_Driver.cxx b/src/Fl_Screen_Driver.cxx index 4e721d28e..ec1474cc5 100644 --- a/src/Fl_Screen_Driver.cxx +++ b/src/Fl_Screen_Driver.cxx @@ -493,6 +493,9 @@ float Fl_Screen_Driver::default_scale_factor() else { factor = desktop_scale_factor(); } + // checks to prevent potential crash (factor <= 0) or very large factors + if (factor < 0.25) factor = 0.25; + else if (factor > 10.0) factor = 10.0; return factor; } diff --git a/src/drivers/X11/Fl_X11_Screen_Driver.cxx b/src/drivers/X11/Fl_X11_Screen_Driver.cxx index b6d333365..1e1f8a265 100644 --- a/src/drivers/X11/Fl_X11_Screen_Driver.cxx +++ b/src/drivers/X11/Fl_X11_Screen_Driver.cxx @@ -1346,7 +1346,7 @@ static bool gnome_scale_factor(float& factor) { strcpy(str, str2); v = v2; } ubuntu_f = v/8.; - printf("com.ubuntu.user-interface scale-factor name=%s value=%d factor=%g\n", str, v, ubuntu_f); + // printf("com.ubuntu.user-interface scale-factor name=%s value=%d factor=%g\n", str, v, ubuntu_f); g_variant_iter_free_f(iter); g_variant_unref_f(gvar); g_object_unref_f(gset); @@ -1363,7 +1363,7 @@ static bool gnome_scale_factor(float& factor) { unsigned v; g_variant_get_f(gvar, "u", &v); ubuntu_desktop_f = v; - printf("org.gnome.desktop.interface scaling-factor value=%u factor=%g\n", v, ubuntu_desktop_f); + // printf("org.gnome.desktop.interface scaling-factor value=%u factor=%g\n", v, ubuntu_desktop_f); g_variant_unref_f(gvar); g_object_unref_f(gset); if (ubuntu_desktop_f != 1) { @@ -1388,7 +1388,7 @@ static bool gnome_scale_factor(float& factor) { //str = (char*)g_variant_get_type_f(gvar); // -> "i" g_variant_get_f(gvar, "i", &v); gnome_f = v; - printf("org.gnome.settings-daemon.plugins.xsettings overrides name=%s value=%d factor=%g\n", str, v, gnome_f); + // printf("org.gnome.settings-daemon.plugins.xsettings overrides name=%s value=%d factor=%g\n", str, v, gnome_f); free(str); break; } |
