--- 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);
 	}
 	
