]> git.eshelyaron.com Git - emacs.git/commitdiff
Avoid floating-point exceptions while drawing underwave
authorEli Zaretskii <eliz@gnu.org>
Mon, 21 Aug 2017 14:46:42 +0000 (17:46 +0300)
committerEli Zaretskii <eliz@gnu.org>
Mon, 21 Aug 2017 14:46:42 +0000 (17:46 +0300)
* src/w32term.c (x_get_scale_factor):
* src/xterm.c (x_get_scale_factor): Don't let the scale factors
become less than 1.  Reported by Yuri D'Elia <wavexx@thregr.org> in
http://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00459.html.

src/w32term.c
src/xterm.c

index 6d2fa335859f42ab4416a3d615318c6994ced9bf..2785ae2b52d7d51211d66b8ad2d46afb74cc43a2 100644 (file)
@@ -318,8 +318,10 @@ x_get_scale_factor(struct w32_display_info *dpyinfo, int *scale_x, int *scale_y)
 
   if (dpyinfo)
     {
-      *scale_x = floor (dpyinfo->resx / base_res);
-      *scale_y = floor (dpyinfo->resy / base_res);
+      if (dpyinfo->resx > base_res)
+       *scale_x = floor (dpyinfo->resx / base_res);
+      if (dpyinfo->resy > base_res)
+       *scale_y = floor (dpyinfo->resy / base_res);
     }
 }
 
index 2efa70b1dca9eee808ae04c8acf096508a934beb..77daa22ae0d59e130385f01bdfb6e4a4df868417 100644 (file)
@@ -3483,8 +3483,10 @@ x_get_scale_factor(Display *disp, int *scale_x, int *scale_y)
 
   if (dpyinfo)
     {
-      *scale_x = floor (dpyinfo->resx / base_res);
-      *scale_y = floor (dpyinfo->resy / base_res);
+      if (dpyinfo->resx > base_res)
+       *scale_x = floor (dpyinfo->resx / base_res);
+      if (dpyinfo->resy > base_res)
+       *scale_y = floor (dpyinfo->resy / base_res);
     }
 }