--- gnome-desktop-2.90.4/libgnome-desktop/gnome-bg.c 2010-06-21 21:49:06.000000000 -0400 +++ hacked/libgnome-desktop/gnome-bg.c 2010-09-22 00:18:03.030998000 -0400 @@ -209,8 +209,6 @@ if (!gdk_color_parse (string, colorp)) return; - - gdk_rgb_find_color (gdk_rgb_get_colormap(), colorp); } static char * @@ -995,23 +993,24 @@ } if (!bg->filename && bg->color_type == GNOME_BG_COLOR_SOLID) { - GdkGC *gc = gdk_gc_new (pixmap); - gdk_gc_set_rgb_fg_color (gc, &(bg->primary)); - - gdk_draw_point (pixmap, gc, 0, 0); - - g_object_unref (gc); + cairo_t *cr; + cr = gdk_cairo_create (pixmap); + gdk_cairo_set_source_color (cr, &(bg->primary)); + cairo_rectangle (cr, 0, 0, 1, 1); + cairo_fill (cr); + cairo_destroy (cr); } else { GdkPixbuf *pixbuf; + cairo_t *cr; pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, width, height); gnome_bg_draw (bg, pixbuf, gdk_drawable_get_screen (GDK_DRAWABLE (window)), is_root); - gdk_draw_pixbuf (pixmap, NULL, pixbuf, - 0, 0, - 0, 0, width, height, - GDK_RGB_DITHER_MAX, 0, 0); + cr = gdk_cairo_create (pixmap); + gdk_cairo_set_source_pixbuf (cr, pixbuf, 0, 0); + cairo_paint (cr); + cairo_destroy (cr); g_object_unref (pixbuf); }