Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/gnome-panel/gnome-panel/ChangeLog,v
retrieving revision 1.1983.2.35
diff -u -p -r1.1983.2.35 ChangeLog
--- ChangeLog	26 May 2003 12:38:10 -0000	1.1983.2.35
+++ ChangeLog	10 Jun 2003 12:05:08 -0000
@@ -1,3 +1,10 @@
+2003-06-10  Mark McLoughlin  <mark@skynet.ie>
+
+	* panel-util.c: (stretch_widget_realize),
+	(stretch_widget_unrealize): don't leaver any stale
+	references to the widget in the GdkWindow's user_data
+	when destroying it. Pointed out by Owen Taylor in #113328.
+
 2003-05-26  Mark McLoughlin  <mark@skynet.ie>
 
 	* drawer.c: (create_drawer_applet): use the drawer stock
Index: panel-util.c
===================================================================
RCS file: /cvs/gnome/gnome-panel/gnome-panel/panel-util.c,v
retrieving revision 1.123
diff -u -p -r1.123 panel-util.c
--- panel-util.c	7 Jan 2003 05:18:00 -0000	1.123
+++ panel-util.c	10 Jun 2003 12:05:08 -0000
@@ -1075,8 +1075,11 @@ stretch_widget_realize (GtkWidget *widge
 	GtkWidget     *toplevel;
 
 	eventwin = g_object_get_data (G_OBJECT (widget), "StrechEventWindow");
-	if (eventwin != NULL)
+	if (eventwin != NULL) {
+		gdk_window_set_user_data (eventwin, NULL);
+		g_object_set_data (G_OBJECT (widget), "StrechEventWindow", NULL);
 		gdk_window_destroy (eventwin);
+	}
 
 	toplevel = stretch_widget_calc_geometry (widget, &x, &y, &w, &h);
 	if (!toplevel)
@@ -1115,6 +1118,7 @@ stretch_widget_unrealize (GtkWidget *wid
 	if (eventwin == NULL)
 		return;
 
+	gdk_window_set_user_data (eventwin, NULL);
 	gdk_window_destroy (eventwin);
 	g_object_set_data (G_OBJECT (widget),
 			   "StrechEventWindow",
