aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/frame.c14
1 files 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)
3492 return; 3492 return;
3493 3493
3494 if (FRAME_FONT_OBJECT (f)) 3494 if (FRAME_FONT_OBJECT (f))
3495 { 3495 free_all_realized_faces (Qnil);
3496 free_all_realized_faces (Qnil);
3497 Fclear_font_cache ();
3498 }
3499 3496
3500 new_value = font_update_drivers (f, new_value); 3497 new_value = font_update_drivers (f, NILP (new_value) ? Qt : new_value);
3501 if (NILP (new_value)) 3498 if (NILP (new_value))
3502 error ("No font backend available"); 3499 {
3500 if (NILP (old_value))
3501 error ("No font backend available");
3502 font_update_drivers (f, old_value);
3503 error ("None of specified font backends are available");
3504 }
3503 store_frame_param (f, Qfont_backend, new_value); 3505 store_frame_param (f, Qfont_backend, new_value);
3504 3506
3505 if (FRAME_FONT_OBJECT (f)) 3507 if (FRAME_FONT_OBJECT (f))