diff options
| author | Kenichi Handa | 2007-12-18 11:43:51 +0000 |
|---|---|---|
| committer | Kenichi Handa | 2007-12-18 11:43:51 +0000 |
| commit | dfdf55c0a978af7dedef98afc3ad340eae41e6a2 (patch) | |
| tree | 7c5dfc0f6d2e2b062eaf5fcc9a180872be1e22de | |
| parent | ca4da08aaada9de39390f339aeba00411f8edcc2 (diff) | |
| download | emacs-dfdf55c0a978af7dedef98afc3ad340eae41e6a2.tar.gz emacs-dfdf55c0a978af7dedef98afc3ad340eae41e6a2.zip | |
(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.
| -rw-r--r-- | src/frame.c | 14 |
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)) |