diff src/font.c @ 103162:cb1886d1427b

(font_update_drivers): Sanity fallback to avoid disabling all drivers.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Wed, 06 May 2009 02:57:47 +0000
parents fa8e2c663118
children 499a2bc2b600
line wrap: on
line diff
--- a/src/font.c	Wed May 06 02:51:52 2009 +0000
+++ b/src/font.c	Wed May 06 02:57:47 2009 +0000
@@ -3655,6 +3655,23 @@
 	  next = &(*next)->next;
 	}
       *next = NULL;
+
+      if (! f->font_driver_list->on)
+	{ /* None of the drivers is enabled: enable them all.
+	     Happens if you set the list of drivers to (xft x) in your .emacs
+	     and then use it under w32 or ns.  */
+	  for (list = f->font_driver_list; list; list = list->next)
+	    {
+	      struct font_driver *driver = list->driver;
+	      eassert (! list->on);
+	      if (! driver->start_for_frame
+		  || driver->start_for_frame (f) == 0)
+		{
+		  font_prepare_cache (f, driver);
+		  list->on = 1;
+		}
+	    }
+	}
     }
 
   for (list = f->font_driver_list; list; list = list->next)