diff -up gnome-desktop-2.28.2/libgnome-desktop/gnome-bg.c.crash gnome-desktop-2.28.2/libgnome-desktop/gnome-bg.c
--- gnome-desktop-2.28.2/libgnome-desktop/gnome-bg.c.crash 2010-01-08 13:26:17.000000000 -0500
+++ gnome-desktop-2.28.2/libgnome-desktop/gnome-bg.c 2010-01-08 13:27:23.909658442 -0500
@@ -630,6 +630,14 @@ draw_color_area (GnomeBG *bg,
GdkRectangle *rect)
{
guint32 pixel;
+ GdkRectangle extent;
+
+ extent.x = 0;
+ extent.y = 0;
+ extent.width = gdk_pixbuf_get_width (dest);
+ extent.height = gdk_pixbuf_get_height (dest);
+
+ gdk_rectangle_intersect (rect, &extent, rect);
switch (bg->color_type) {
case GNOME_BG_COLOR_SOLID: