diff options
| author | Kenichi Handa | 2006-08-01 01:22:48 +0000 |
|---|---|---|
| committer | Kenichi Handa | 2006-08-01 01:22:48 +0000 |
| commit | 8fb9e6757ed669f207f203b21ee0aa94715797d0 (patch) | |
| tree | 017ede852826eee687cb94bb8ff1d6fe49cdfcd0 /src | |
| parent | 6e34c9c13fe8f2a6e7b7c15b854d53d15683c46f (diff) | |
| download | emacs-8fb9e6757ed669f207f203b21ee0aa94715797d0.tar.gz emacs-8fb9e6757ed669f207f203b21ee0aa94715797d0.zip | |
(x_set_font_backend): Do more works that were done in
font_update_drivers before.
Diffstat (limited to 'src')
| -rw-r--r-- | src/frame.c | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/src/frame.c b/src/frame.c index 6d1df70955f..9bbdcd592aa 100644 --- a/src/frame.c +++ b/src/frame.c | |||
| @@ -3179,8 +3179,6 @@ x_set_font_backend (f, new_value, old_value) | |||
| 3179 | struct frame *f; | 3179 | struct frame *f; |
| 3180 | Lisp_Object new_value, old_value; | 3180 | Lisp_Object new_value, old_value; |
| 3181 | { | 3181 | { |
| 3182 | Lisp_Object frame; | ||
| 3183 | |||
| 3184 | if (! NILP (new_value) | 3182 | if (! NILP (new_value) |
| 3185 | && !CONSP (new_value)) | 3183 | && !CONSP (new_value)) |
| 3186 | { | 3184 | { |
| @@ -3199,9 +3197,32 @@ x_set_font_backend (f, new_value, old_value) | |||
| 3199 | p1++; | 3197 | p1++; |
| 3200 | p0 = p1; | 3198 | p0 = p1; |
| 3201 | } | 3199 | } |
| 3200 | new_value = Fnreverse (new_value); | ||
| 3201 | } | ||
| 3202 | |||
| 3203 | if (! NILP (old_value) && ! NILP (Fequal (old_value, new_value))) | ||
| 3204 | return; | ||
| 3205 | |||
| 3206 | if (FRAME_FONT_OBJECT (f)) | ||
| 3207 | { | ||
| 3208 | free_all_realized_faces (Qnil); | ||
| 3209 | Fclear_font_cache (); | ||
| 3202 | } | 3210 | } |
| 3203 | 3211 | ||
| 3204 | font_update_drivers (f, new_value, FRAME_FONT_OBJECT (f)); | 3212 | new_value = font_update_drivers (f, new_value); |
| 3213 | if (NILP (new_value)) | ||
| 3214 | error ("No font backend available"); | ||
| 3215 | store_frame_param (f, Qfont_backend, new_value); | ||
| 3216 | |||
| 3217 | if (FRAME_FONT_OBJECT (f)) | ||
| 3218 | { | ||
| 3219 | Lisp_Object frame; | ||
| 3220 | |||
| 3221 | XSETFRAME (frame, f); | ||
| 3222 | x_set_font (f, Fframe_parameter (frame, Qfont), Qnil); | ||
| 3223 | ++face_change_count; | ||
| 3224 | ++windows_or_buffers_changed; | ||
| 3225 | } | ||
| 3205 | } | 3226 | } |
| 3206 | #endif /* USE_FONT_BACKEND */ | 3227 | #endif /* USE_FONT_BACKEND */ |
| 3207 | 3228 | ||