# HG changeset patch # User Chong Yidong # Date 1245643754 0 # Node ID 995efe4ff12361115fcd92148b96672236b2f0e1 # Parent cff2fbe454dce051a7a5a5bc790e9674a8ecf398 * xterm.c (xg_default_icon_file): New variable. (syms_of_xterm): Initialize it to the Emacs SVG icon file. (x_bitmap_icon): Under GTK, use xg_default_icon_file. diff -r cff2fbe454dc -r 995efe4ff123 src/ChangeLog --- a/src/ChangeLog Mon Jun 22 03:40:49 2009 +0000 +++ b/src/ChangeLog Mon Jun 22 04:09:14 2009 +0000 @@ -7,6 +7,9 @@ * xterm.c (x_draw_glyph_string): Use the glyph string's width rather than its background_width for drawing the overline and underline (Bug#489). + (xg_default_icon_file): New variable. + (syms_of_xterm): Initialize it to the Emacs SVG icon file. + (x_bitmap_icon): Under GTK, use xg_default_icon_file. * xdisp.c (Qbefore_string, Qafter_string): Add externs. (load_overlay_strings): Remove externs. diff -r cff2fbe454dc -r 995efe4ff123 src/xterm.c --- a/src/xterm.c Mon Jun 22 03:40:49 2009 +0000 +++ b/src/xterm.c Mon Jun 22 04:09:14 2009 +0000 @@ -320,6 +320,11 @@ static Lisp_Object Qvendor_specific_keysyms; static Lisp_Object Qlatin_1; +#ifdef USE_GTK +/* The name of the Emacs icon file. */ +static Lisp_Object xg_default_icon_file; +#endif + /* Used in x_flush. */ extern Lisp_Object Vinhibit_redisplay; @@ -7617,16 +7622,19 @@ { int rc = -1; -#if defined (HAVE_XPM) && defined (HAVE_X_WINDOWS) #ifdef USE_GTK - if (xg_set_icon_from_xpm_data (f, gnu_xpm_bits)) + + if (xg_set_icon (f, xg_default_icon_file) + || xg_set_icon_from_xpm_data (f, gnu_xpm_bits)) return 0; -#else + +#elif defined (HAVE_XPM) && defined (HAVE_X_WINDOWS) + rc = x_create_bitmap_from_xpm_data (f, gnu_xpm_bits); if (rc != -1) FRAME_X_DISPLAY_INFO (f)->icon_bitmap_id = rc; -#endif /* USE_GTK */ -#endif /* defined (HAVE_XPM) && defined (HAVE_X_WINDOWS) */ + +#endif /* If all else fails, use the (black and white) xbm image. */ if (rc == -1) @@ -10914,6 +10922,11 @@ staticpro (&last_mouse_press_frame); last_mouse_press_frame = Qnil; +#ifdef USE_GTK + xg_default_icon_file = build_string ("icons/hicolor/scalable/apps/emacs.svg"); + staticpro (&xg_default_icon_file); +#endif + DEFVAR_BOOL ("x-use-underline-position-properties", &x_use_underline_position_properties, doc: /* *Non-nil means make use of UNDERLINE_POSITION font properties.