diff options
| author | Jan Djärv | 2003-06-26 21:18:45 +0000 |
|---|---|---|
| committer | Jan Djärv | 2003-06-26 21:18:45 +0000 |
| commit | a5f696acd2f4ad2a22fd1b5e48ea97d2ffa311b9 (patch) | |
| tree | e9e47d850ca3b93571f0acb10859b5fb880e8b03 /src | |
| parent | cffcede78a72f85e00dd6dea1507eed6f2f14351 (diff) | |
| download | emacs-a5f696acd2f4ad2a22fd1b5e48ea97d2ffa311b9.tar.gz emacs-a5f696acd2f4ad2a22fd1b5e48ea97d2ffa311b9.zip | |
Fix some of the font/face problems.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 9 | ||||
| -rw-r--r-- | src/frame.c | 2 | ||||
| -rw-r--r-- | src/frame.h | 5 | ||||
| -rw-r--r-- | src/xfaces.c | 7 |
4 files changed, 20 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index e2fb2baaaac..f5e682dcc6f 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,5 +1,14 @@ | |||
| 1 | 2003-06-26 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | 1 | 2003-06-26 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> |
| 2 | 2 | ||
| 3 | * xfaces.c (set_font_frame_param): Set default_face_done_p to zero. | ||
| 4 | (realize_default_face): Use default_face_done_p for the force_p | ||
| 5 | argument to set_lface_from_font_name. Set default_face_done_p to | ||
| 6 | one. | ||
| 7 | |||
| 8 | * frame.c (make_frame): Initialize default_face_done_p. | ||
| 9 | |||
| 10 | * frame.h (struct frame): Add default_face_done_p. | ||
| 11 | |||
| 3 | * config.in: Add XRegisterIMInstantiateCallback_arg6 so it | 12 | * config.in: Add XRegisterIMInstantiateCallback_arg6 so it |
| 4 | will be defined. | 13 | will be defined. |
| 5 | 14 | ||
diff --git a/src/frame.c b/src/frame.c index 90741c39197..98b3e7067bd 100644 --- a/src/frame.c +++ b/src/frame.c | |||
| @@ -372,6 +372,8 @@ make_frame (mini_p) | |||
| 372 | a newly-created, never-selected window. */ | 372 | a newly-created, never-selected window. */ |
| 373 | XSETFASTINT (XWINDOW (f->selected_window)->use_time, ++window_select_count); | 373 | XSETFASTINT (XWINDOW (f->selected_window)->use_time, ++window_select_count); |
| 374 | 374 | ||
| 375 | f->default_face_done_p = 0; | ||
| 376 | |||
| 375 | return f; | 377 | return f; |
| 376 | } | 378 | } |
| 377 | 379 | ||
diff --git a/src/frame.h b/src/frame.h index 6ecfcf970b5..a2ca24a014d 100644 --- a/src/frame.h +++ b/src/frame.h | |||
| @@ -451,6 +451,11 @@ struct frame | |||
| 451 | /* Set to non-zero in change_frame_size when size of frame changed | 451 | /* Set to non-zero in change_frame_size when size of frame changed |
| 452 | Clear the frame in clear_garbaged_frames if set. */ | 452 | Clear the frame in clear_garbaged_frames if set. */ |
| 453 | unsigned resized_p : 1; | 453 | unsigned resized_p : 1; |
| 454 | |||
| 455 | /* Set to non-zero if the default face for the frame has been | ||
| 456 | realized. Reset to zero whenever the default face changes. | ||
| 457 | Used to see the difference between a font change and face change. */ | ||
| 458 | unsigned default_face_done_p : 1; | ||
| 454 | }; | 459 | }; |
| 455 | 460 | ||
| 456 | #ifdef MULTI_KBOARD | 461 | #ifdef MULTI_KBOARD |
diff --git a/src/xfaces.c b/src/xfaces.c index a24ad6d230e..e296c52a2b8 100644 --- a/src/xfaces.c +++ b/src/xfaces.c | |||
| @@ -4340,6 +4340,7 @@ set_font_frame_param (frame, lface) | |||
| 4340 | xfree (font); | 4340 | xfree (font); |
| 4341 | } | 4341 | } |
| 4342 | 4342 | ||
| 4343 | f->default_face_done_p = 0; | ||
| 4343 | Fmodify_frame_parameters (frame, Fcons (Fcons (Qfont, font_name), Qnil)); | 4344 | Fmodify_frame_parameters (frame, Fcons (Fcons (Qfont, font_name), Qnil)); |
| 4344 | } | 4345 | } |
| 4345 | } | 4346 | } |
| @@ -6586,9 +6587,9 @@ realize_default_face (f) | |||
| 6586 | frame_font = Fassq (Qfont, f->param_alist); | 6587 | frame_font = Fassq (Qfont, f->param_alist); |
| 6587 | xassert (CONSP (frame_font) && STRINGP (XCDR (frame_font))); | 6588 | xassert (CONSP (frame_font) && STRINGP (XCDR (frame_font))); |
| 6588 | frame_font = XCDR (frame_font); | 6589 | frame_font = XCDR (frame_font); |
| 6589 | /* Specify 0 for FORCE_P here, so that we don't override | 6590 | set_lface_from_font_name (f, lface, frame_font, |
| 6590 | a :family attribute specified for `default' for new frames. */ | 6591 | f->default_face_done_p, 1); |
| 6591 | set_lface_from_font_name (f, lface, frame_font, 0, 1); | 6592 | f->default_face_done_p = 1; |
| 6592 | } | 6593 | } |
| 6593 | #endif /* HAVE_WINDOW_SYSTEM */ | 6594 | #endif /* HAVE_WINDOW_SYSTEM */ |
| 6594 | 6595 | ||