+2010-06-22 Jan Djärv <jan.h.d@swipnet.se>
+
+ * xfns.c (x_default_font_parameter): Try to open font from system
+ before using it (bug#6478). Rename got_from_gconf to got_from_system.
+
2010-06-22 Keith Packard <keithp@keithp.com> (tiny change)
* font.c (font_parse_fcname): Allow . for sizes like 7.5 (bug#6437).
struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f);
Lisp_Object font_param = x_get_arg (dpyinfo, parms, Qfont, NULL, NULL,
RES_TYPE_STRING);
- Lisp_Object font;
- int got_from_gconf = 0;
+ Lisp_Object font = Qnil;
+ int got_from_system = 0;
if (EQ (font_param, Qunbound))
font_param = Qnil;
regardless of font-use-system-font because .emacs may not have been
read yet. */
const char *system_font = xsettings_get_system_font ();
- if (system_font) font_param = make_string (system_font,
- strlen (system_font));
+ if (system_font)
+ {
+ char *name = xstrdup (system_font);
+ font = font_open_by_name (f, name);
+ got_from_system = ! NILP (font);
+ free (name);
+ }
}
-
- font = !NILP (font_param) ? font_param
- : x_get_arg (dpyinfo, parms, Qfont, "font", "Font", RES_TYPE_STRING);
- if (! STRINGP (font))
+ if (NILP (font))
+ font = !NILP (font_param) ? font_param
+ : x_get_arg (dpyinfo, parms, Qfont, "font", "Font", RES_TYPE_STRING);
+
+ if (! FONTP (font) && ! STRINGP (font))
{
char *names[]
= {
}
x_default_parameter (f, parms, Qfont, font,
- got_from_gconf ? NULL : "font",
- got_from_gconf ? NULL : "Font",
+ got_from_system ? NULL : "font",
+ got_from_system ? NULL : "Font",
RES_TYPE_STRING);
}