aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJan Djärv2003-06-26 21:18:45 +0000
committerJan Djärv2003-06-26 21:18:45 +0000
commita5f696acd2f4ad2a22fd1b5e48ea97d2ffa311b9 (patch)
treee9e47d850ca3b93571f0acb10859b5fb880e8b03 /src
parentcffcede78a72f85e00dd6dea1507eed6f2f14351 (diff)
downloademacs-a5f696acd2f4ad2a22fd1b5e48ea97d2ffa311b9.tar.gz
emacs-a5f696acd2f4ad2a22fd1b5e48ea97d2ffa311b9.zip
Fix some of the font/face problems.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog9
-rw-r--r--src/frame.c2
-rw-r--r--src/frame.h5
-rw-r--r--src/xfaces.c7
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 @@
12003-06-26 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> 12003-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