# HG changeset patch # User Kenichi Handa # Date 1197978231 0 # Node ID ed6fa90c5c8941114b60eafd7d1ce162a375229f # Parent 217eabc2db11bfc6467dfcaf16357e6a5073af57 (x_set_font_backend): Don't call Fclear_font_cache. If none of the new drivers are available, call font_update_drviers with the old drivers. diff -r 217eabc2db11 -r ed6fa90c5c89 src/frame.c --- a/src/frame.c Tue Dec 18 11:40:00 2007 +0000 +++ b/src/frame.c Tue Dec 18 11:43:51 2007 +0000 @@ -3492,14 +3492,16 @@ return; if (FRAME_FONT_OBJECT (f)) + free_all_realized_faces (Qnil); + + new_value = font_update_drivers (f, NILP (new_value) ? Qt : new_value); + if (NILP (new_value)) { - free_all_realized_faces (Qnil); - Fclear_font_cache (); + if (NILP (old_value)) + error ("No font backend available"); + font_update_drivers (f, old_value); + error ("None of specified font backends are available"); } - - new_value = font_update_drivers (f, new_value); - if (NILP (new_value)) - error ("No font backend available"); store_frame_param (f, Qfont_backend, new_value); if (FRAME_FONT_OBJECT (f))