diff options
| author | Eli Zaretskii <eliz@gnu.org> | 2017-04-26 15:09:12 +0300 |
|---|---|---|
| committer | Eli Zaretskii <eliz@gnu.org> | 2017-04-26 15:09:12 +0300 |
| commit | b780f16953355e931a70f7b0fd666fa7f9dad795 (patch) | |
| tree | 3f46f92cb0fe49e8b764c55a2f859bad9530db37 | |
| parent | 513d000c75b582edf9acef1c6df00ee2c382dcb9 (diff) | |
| download | emacs-b780f16953355e931a70f7b0fd666fa7f9dad795.tar.gz | |
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)
| -rw-r--r-- | src/font.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/src/font.c b/src/font.c index dd6191b2b1f..5a3f271ef85 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; } |
