changeset 103511:995efe4ff123

* 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.
author Chong Yidong <cyd@stupidchicken.com>
date Mon, 22 Jun 2009 04:09:14 +0000
parents cff2fbe454dc
children ce2fc4a55d15
files src/ChangeLog src/xterm.c
diffstat 2 files changed, 21 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- 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.
--- 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.