# HG changeset patch # User Jan Dj¸«£rv # Date 1123926516 0 # Node ID 9ac98d57e0e7ca4cf47352b4548c67197f48cd18 # Parent d5e998f50c2d92084bfa9bd7f1575fe30e2ccc06 * xterm.c (x_wm_set_icon_pixmap): Call xg_get_pixbuf_from_pix_and_mask to get an GTK icon and set it with GTK functions to avoid having GTK override an icon set with just X functions. diff -r d5e998f50c2d -r 9ac98d57e0e7 src/xterm.c --- a/src/xterm.c Sat Aug 13 09:48:17 2005 +0000 +++ b/src/xterm.c Sat Aug 13 09:48:36 2005 +0000 @@ -9250,7 +9250,19 @@ #endif } -#ifdef USE_X_TOOLKIT /* same as in x_wm_set_window_state. */ + +#ifdef USE_GTK + { + GdkDisplay *gdpy = gdk_x11_lookup_xdisplay (FRAME_X_DISPLAY (f)); + GdkPixmap *gpix = gdk_pixmap_foreign_new_for_display (gdpy, icon_pixmap); + GdkPixmap *gmask = gdk_pixmap_foreign_new_for_display (gdpy, icon_mask); + GdkPixbuf *gp = xg_get_pixbuf_from_pix_and_mask (gpix, gmask, NULL); + + gtk_window_set_icon (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)), gp); + return; + } + +#elif defined (USE_X_TOOLKIT) /* same as in x_wm_set_window_state. */ { Arg al[1]; @@ -9260,12 +9272,12 @@ XtSetValues (f->output_data.x->widget, al, 1); } -#else /* not USE_X_TOOLKIT */ +#else /* not USE_X_TOOLKIT && not USE_GTK */ f->output_data.x->wm_hints.flags |= (IconPixmapHint | IconMaskHint); XSetWMHints (FRAME_X_DISPLAY (f), window, &f->output_data.x->wm_hints); -#endif /* not USE_X_TOOLKIT */ +#endif /* not USE_X_TOOLKIT && not USE_GTK */ } void