changeset 4478:ec442dc06fe1

Merge.
author Aidan Kehoe <kehoea@parhasard.net>
date Thu, 10 Jul 2008 23:37:52 +0200
parents dbf79a1732ba (diff) e34711681f30 (current diff)
children 4cb7c59b5201 7869173584fc
files src/ChangeLog
diffstat 2 files changed, 16 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Wed Jul 09 20:46:22 2008 +0200
+++ b/src/ChangeLog	Thu Jul 10 23:37:52 2008 +0200
@@ -51,6 +51,13 @@
 	(gtk_finish_init_device): Call #'make-device-late-gtk-entry-point
 	with the created device as an argument. 
 
+2008-07-10  Aidan Kehoe  <kehoea@parhasard.net>
+
+	* redisplay-msw.c (mswindows_text_width_single_run): 
+	Explicitly check for the null font instance, and return zero if
+	so. Avoids the crash documented in
+	http://mid.gmane.org/18473.32468.712317.149457@parhasard.net .
+
 2008-05-27  Aidan Kehoe  <kehoea@parhasard.net>
 
 	* editfns.c (Ftranslate_region):  
--- a/src/redisplay-msw.c	Wed Jul 09 20:46:22 2008 +0200
+++ b/src/redisplay-msw.c	Thu Jul 10 23:37:52 2008 +0200
@@ -148,6 +148,15 @@
   Lisp_Object font_inst = FACE_CACHEL_FONT (cachel, run->charset);
   SIZE size;
 
+  /* The X11 code doesn't have to do this explicitly, because there we trust
+     the font instance to know whether it's actually proportional or not,
+     and we use the zero width that is stored in the monospace null font
+     instance.  */
+  if (EQ (Vthe_null_font_instance, font_inst))
+    {
+      return 0;
+    }
+
 #if 0 /* #### not the way of ikeyama's ws */
   if (!fi->proportional_p || !hdc)
     {