emacs-diffs
[Top][All Lists]
Advanced

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

master f1c3b82: ; * src/character.c (lisp_string_width): Another defensi


From: Eli Zaretskii
Subject: master f1c3b82: ; * src/character.c (lisp_string_width): Another defensive fix.
Date: Thu, 27 May 2021 10:16:27 -0400 (EDT)

branch: master
commit f1c3b82d401eecd1facbe0a6c07ccde100ad65d8
Author: Eli Zaretskii <eliz@gnu.org>
Commit: Eli Zaretskii <eliz@gnu.org>

    ; * src/character.c (lisp_string_width): Another defensive fix.
---
 src/character.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/character.c b/src/character.c
index e72fdc0..60424fa 100644
--- a/src/character.c
+++ b/src/character.c
@@ -394,9 +394,12 @@ lisp_string_width (Lisp_Object string, ptrdiff_t from, 
ptrdiff_t to,
                                 SBYTES (default_font))))
                {
                  Lisp_Object font_info = Ffont_info (default_font, Qnil);
-                 font_width = XFIXNUM (AREF (font_info, 11));
-                 if (font_width <= 0)
-                   font_width = XFIXNUM (AREF (font_info, 10));
+                 if (VECTORP (font_info))
+                   {
+                     font_width = XFIXNUM (AREF (font_info, 11));
+                     if (font_width <= 0)
+                       font_width = XFIXNUM (AREF (font_info, 10));
+                   }
                }
            }
          thiswidth = (double) pixelwidth / font_width + 0.5;



reply via email to

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