Using a textured gtk theme overrides the background image : http://www.foo-projects.org/~olivier/misc/gtk-textured-theme.png
Ok, should be fixed. Not sure why the old method stopped working.
Woops, xfdesktop now randomly crashes on theme change. Backtrace follows: [Switching to Thread 47187387242912 (LWP 18994)] 0x00002aeaa9ac3280 in g_type_check_instance_is_a () from /usr/lib/libgobject-2.0.so.0 (gdb) (gdb) (gdb) (gdb) (gdb) (gdb) bt #0 0x00002aeaa9ac3280 in g_type_check_instance_is_a () from /usr/lib/libgobject-2.0.so.0 #1 0x00002aeaa87859ae in gdk_gc_set_clip_rectangle () from /usr/lib/libgdk-x11-2.0.so.0 #2 0x00002aeaa839f96e in gtk_style_apply_default_background () from /usr/lib/libgtk-x11-2.0.so.0 #3 0x00002aeaa843612c in gtk_window_get_position () from /usr/lib/libgtk-x11-2.0.so.0 #4 0x00002aeaa8436580 in gtk_window_get_position () from /usr/lib/libgtk-x11-2.0.so.0 #5 0x00000000004110b1 in xfce_desktop_expose (w=0x599780, evt=0x7fffff801950) at xfce-desktop.c:701 #6 0x00002aeaa83476f0 in _gtk_marshal_BOOLEAN__BOXED () from /usr/lib/libgtk-x11-2.0.so.0 #7 0x00002aeaa9aa93c0 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #8 0x00002aeaa9ab80ab in g_signal_stop_emission () from /usr/lib/libgobject-2.0.so.0 #9 0x00002aeaa9ab9127 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #10 0x00002aeaa9ab97a3 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #11 0x00002aeaa8425ab5 in gtk_widget_activate () from /usr/lib/libgtk-x11-2.0.so.0 #12 0x00002aeaa8346076 in gtk_main_do_event () ---Type <return> to continue, or q <return> to quit--- from /usr/lib/libgtk-x11-2.0.so.0 #13 0x00002aeaa8797f9a in gdk_window_clear_area_e () from /usr/lib/libgdk-x11-2.0.so.0 #14 0x00002aeaa879806b in gdk_window_process_all_updates () from /usr/lib/libgdk-x11-2.0.so.0 #15 0x00002aeaa82c2ef5 in gtk_container_check_resize () from /usr/lib/libgtk-x11-2.0.so.0 #16 0x00002aeaa9e0b4bd in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #17 0x00002aeaa9e0e65f in g_main_context_check () from /usr/lib/libglib-2.0.so.0 #18 0x00002aeaa9e0e90a in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 #19 0x00002aeaa8345360 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 #20 0x000000000040d4b7 in main (argc=1, argv=0x7fffff801c88) at main.c:354 (gdb)
Ok, I think I might have fixed it. I'm having trouble reproducing it reliably, so I'm not sure.
Yes, it seems to be a lot harder to reproduce now ;)
Ok, should be completely fixed now. If it still crashes, it's a separate bug.