When a gtk theme using the pixmap engine is selected, Xfdesktop will not set the wallpapers on the desktop. It instead uses whatever image is specified in the "bg_pixmap[NORMAL]" line of the gtkrc for the theme. I have only observed this behavior on a dual-head xorg server. It spits out these few lines over and over again: (xfdesktop:16318): Gdk-CRITICAL **: file gdkpixbuf-drawable.c: line 1271 (gdk_pi xbuf_get_from_drawable): assertion `src_x + width <= src_width && src_y + height <= src_height' failed (xfdesktop:16318): GdkPixbuf-CRITICAL **: file gdk-pixbuf-util.c: line 130 (gdk_ pixbuf_copy_area): assertion `dest_pixbuf != NULL' failed (xfdesktop:16318): Gdk-CRITICAL **: file gdkpixbuf-render.c: line 293 (gdk_pixbu f_render_pixmap_and_mask_for_colormap): assertion `GDK_IS_PIXBUF (pixbuf)' faile d (xfdesktop:16318): GLib-GObject-CRITICAL **: file gobject.c: line 1579 (g_object _unref): assertion `G_IS_OBJECT (object)' failed Reproducible: Always Steps to Reproduce: 1. Select a GTK theme that uses the "pixmap" engine or includes the line "bg_pixmap[normal]" in the gtkrc 2. Start xfdesktop in a Xinerama-enabled x server. Actual Results: The desktop is filled with the GTK theme's background image. Expected Results: Wallpapers are displayed on the desktop. I can work around this bug by: 1. Switiching to a theme that does not use the "bg_pixmap" attribute. 2. Unchecking the "Show Image" option in the "Desktop Settings" dialog. 3. Checking the "Show Image" option. 4. Switiching to a pixmap theme. You should be able to check this with the "Smokey Blue" theme that comes with GNOME or with my "Brushed Chrome" theme here: http://members.cox.net/brian-schott/themes.html I have tried this with several 4.2 release candidates as well as a CVS version downloaded and built on December 9th. All versions seem to be affected. I've observed this on a Dual head nVidia card in a desktop as well as a radeon in a laptop. I use xorg 6.8
except i can't even test my own code, as i only have one monitor ^_~. though i think i know what's wrong. when xfdesktop first tries to set the backdrop, it first checks style->bg_pixmap[normal] to see if xfdesktop has set the pixmap before, and if so, reuses it if we're on xinerama, to avoid recompositing the entire pixmap for all screens again (with xinerama, all screens share the same root window, and thus the same bg_pixmap). this isn't a problem with non-xinerama, because xfdesktop doesn't bother to try to reuse the existing pixmap, since it doesn't really do anything useful. annnyway, with a pixmap theme engine with bg_pixmap set, there's already something there, that's generally not the right size, thus the errors you're seeing. anyway, should fixed in CVS (should sync to anoncvs in 50 mins), though i'm not sure since i can't test. it compiles, anyway.
I just downloaded and built the new version in CVS. Works perfectly now. Nice job.
good to hear. thanks!