From ba98e3a0fffe915d4f3a94c1c3bf69f05cc812b9 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Wed, 6 May 2009 02:57:47 +0000 Subject: [PATCH] (font_update_drivers): Sanity fallback to avoid disabling all drivers. --- src/ChangeLog | 3 +++ src/font.c | 17 +++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/src/ChangeLog b/src/ChangeLog index b3f5bb483fa..5f41bd894f4 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,8 @@ 2009-05-06 Stefan Monnier + * font.c (font_update_drivers): Sanity fallback to avoid disabling + all drivers. + * nsterm.m (-windowDidResize:): Avoid inf-loop under GNUStep. 2009-05-06 YAMAMOTO Mitsuharu diff --git a/src/font.c b/src/font.c index 16ae9cdc0f4..cdff0d678e6 100644 --- a/src/font.c +++ b/src/font.c @@ -3655,6 +3655,23 @@ font_update_drivers (f, new_drivers) 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) -- 2.39.5