From dfdf55c0a978af7dedef98afc3ad340eae41e6a2 Mon Sep 17 00:00:00 2001 From: Kenichi Handa Date: Tue, 18 Dec 2007 11:43:51 +0000 Subject: [PATCH] (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. --- src/frame.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/frame.c b/src/frame.c index f081de50f29..c5762142541 100644 --- a/src/frame.c +++ b/src/frame.c @@ -3492,14 +3492,16 @@ x_set_font_backend (f, new_value, old_value) return; if (FRAME_FONT_OBJECT (f)) - { - free_all_realized_faces (Qnil); - Fclear_font_cache (); - } + free_all_realized_faces (Qnil); - new_value = font_update_drivers (f, new_value); + new_value = font_update_drivers (f, NILP (new_value) ? Qt : new_value); if (NILP (new_value)) - error ("No font backend available"); + { + if (NILP (old_value)) + error ("No font backend available"); + font_update_drivers (f, old_value); + error ("None of specified font backends are available"); + } store_frame_param (f, Qfont_backend, new_value); if (FRAME_FONT_OBJECT (f)) -- 2.39.5