aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChong Yidong2008-06-15 19:42:53 +0000
committerChong Yidong2008-06-15 19:42:53 +0000
commit53c7540dc3fe0288fe55d8e569de497d70cb0684 (patch)
tree72962dac658617a2264d6244872fade320954dc8 /src
parent349c787a5348625ea3699b198d1e39607209b315 (diff)
downloademacs-53c7540dc3fe0288fe55d8e569de497d70cb0684.tar.gz
emacs-53c7540dc3fe0288fe55d8e569de497d70cb0684.zip
(Fx_select_font): Give GTK font dialog the default font name.
Diffstat (limited to 'src')
-rw-r--r--src/xfns.c21
1 files changed, 15 insertions, 6 deletions
diff --git a/src/xfns.c b/src/xfns.c
index 8d4b105ea8f..57b14d3f9d2 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -5645,8 +5645,8 @@ If FRAME is omitted or nil, it defaults to the selected frame. */)
5645 Lisp_Object frame, ignored; 5645 Lisp_Object frame, ignored;
5646{ 5646{
5647 FRAME_PTR f = check_x_frame (frame); 5647 FRAME_PTR f = check_x_frame (frame);
5648 char *fontname; 5648 char *name;
5649 Lisp_Object font = Qnil; 5649 Lisp_Object default_font, font = Qnil;
5650 int count = SPECPDL_INDEX (); 5650 int count = SPECPDL_INDEX ();
5651 5651
5652 check_x (); 5652 check_x ();
@@ -5660,12 +5660,21 @@ If FRAME is omitted or nil, it defaults to the selected frame. */)
5660 5660
5661 BLOCK_INPUT; 5661 BLOCK_INPUT;
5662 5662
5663 fontname = xg_get_font_name (f, NULL); 5663 XSETFONT (default_font, FRAME_FONT (f));
5664 if (FONTP (default_font))
5665 {
5666 char *default_name = alloca (256);
5667 if (font_unparse_gtkname (default_font, f, default_name, 256) < 0)
5668 default_name = NULL;
5669 name = xg_get_font_name (f, default_name);
5670 }
5671 else
5672 name = xg_get_font_name (f, NULL);
5664 5673
5665 if (fontname) 5674 if (name)
5666 { 5675 {
5667 font = build_string (fontname); 5676 font = build_string (name);
5668 xfree (fontname); 5677 xfree (name);
5669 } 5678 }
5670 5679
5671 UNBLOCK_INPUT; 5680 UNBLOCK_INPUT;