--- gnome-panel/panel-background-monitor.c.orig	2004-11-30 04:13:38.000000000 +0530
+++ gnome-panel/panel-background-monitor.c	2004-12-15 18:44:13.677249440 +0530
@@ -299,6 +299,7 @@ static void 
 panel_background_monitor_setup_pixbuf (PanelBackgroundMonitor *monitor)
 {
 	GdkColormap *colormap = NULL;
+	GdkImage    *image    = NULL;
 	int          rwidth, rheight;
 	int          pwidth, pheight;
 
@@ -319,16 +320,17 @@ panel_background_monitor_setup_pixbuf (P
 
 	colormap = gdk_drawable_get_colormap (monitor->gdkwindow);
 
-	gdk_error_trap_push ();
-
 	g_assert (monitor->gdkpixbuf == NULL);
-	monitor->gdkpixbuf = gdk_pixbuf_get_from_drawable (
-					NULL, monitor->gdkpixmap, colormap,
+	image = gdk_drawable_get_image ( 
+					monitor->gdkpixmap, 
+					0, 0,
+					monitor->width, monitor->height );
+	monitor->gdkpixbuf = gdk_pixbuf_get_from_image (
+					NULL, image, colormap,
 					0, 0, 0, 0, 
 					monitor->width, monitor->height);
 
-	if (!gdk_error_trap_pop () &&
-	    (monitor->width < rwidth || monitor->height < rheight)) {
+	if (monitor->width < rwidth || monitor->height < rheight) {
 		GdkPixbuf *tiled;
 
 		tiled = panel_background_monitor_tile_background (
