emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master b780f16: Avoid segfaults when 'find-font' is invoke


From: Eli Zaretskii
Subject: [Emacs-diffs] master b780f16: Avoid segfaults when 'find-font' is invoked for a TTY frame
Date: Wed, 26 Apr 2017 08:11:07 -0400 (EDT)

branch: master
commit b780f16953355e931a70f7b0fd666fa7f9dad795
Author: Eli Zaretskii <address@hidden>
Commit: Eli Zaretskii <address@hidden>

    Avoid segfaults when 'find-font' is invoked for a TTY frame
    
    * src/font.c (font_pixel_size): Don't call GUI functions if F is a
    text-mode frame.  (Bug#26646)
---
 src/font.c | 24 +++++++++++++-----------
 1 file changed, 13 insertions(+), 11 deletions(-)

diff --git a/src/font.c b/src/font.c
index dd6191b..5a3f271 100644
--- a/src/font.c
+++ b/src/font.c
@@ -306,18 +306,20 @@ font_pixel_size (struct frame *f, Lisp_Object spec)
     return XINT (size);
   if (NILP (size))
     return 0;
-  eassert (FLOATP (size));
-  point_size = XFLOAT_DATA (size);
-  val = AREF (spec, FONT_DPI_INDEX);
-  if (INTEGERP (val))
-    dpi = XINT (val);
-  else
-    dpi = FRAME_RES_Y (f);
-  pixel_size = POINT_TO_PIXEL (point_size, dpi);
-  return pixel_size;
-#else
-  return 1;
+  if (FRAME_WINDOW_P (f))
+    {
+      eassert (FLOATP (size));
+      point_size = XFLOAT_DATA (size);
+      val = AREF (spec, FONT_DPI_INDEX);
+      if (INTEGERP (val))
+       dpi = XINT (val);
+      else
+       dpi = FRAME_RES_Y (f);
+      pixel_size = POINT_TO_PIXEL (point_size, dpi);
+      return pixel_size;
+    }
 #endif
+  return 1;
 }
 
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]