Mercurial > emacs
comparison src/frame.c @ 91248:ed6fa90c5c89
(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.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Tue, 18 Dec 2007 11:43:51 +0000 |
parents | ceb3fe7d84dd |
children | 606f2d163a64 |
comparison
equal
deleted
inserted
replaced
91247:217eabc2db11 | 91248:ed6fa90c5c89 |
---|---|
3490 | 3490 |
3491 if (! NILP (old_value) && ! NILP (Fequal (old_value, new_value))) | 3491 if (! NILP (old_value) && ! NILP (Fequal (old_value, new_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); | 3496 |
3497 Fclear_font_cache (); | 3497 new_value = font_update_drivers (f, NILP (new_value) ? Qt : new_value); |
3498 } | |
3499 | |
3500 new_value = font_update_drivers (f, 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)) |
3506 { | 3508 { |
3507 Lisp_Object frame; | 3509 Lisp_Object frame; |