[evolution-patches] 41458, crash sending meeting invite



The widgets weren't being destroyed properly because EDateEdit was
considering them "internal", so GtkContainer's destroy method ignored
them. This fixes that.


Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/widgets/misc/ChangeLog,v
retrieving revision 1.213
diff -u -r1.213 ChangeLog
--- ChangeLog	16 Apr 2003 14:47:06 -0000	1.213
+++ ChangeLog	29 Apr 2003 15:46:59 -0000
@@ -1,3 +1,10 @@
+2003-04-29  Dan Winship  <danw ximian com>
+
+	* e-dateedit.c (e_date_edit_forall): Remove this so that
+	GtkContainer's destroy method will destroy all of the internal
+	widgets. (This is how other compound-widgets-that-aren't-
+	meant-to-be-used-as-containers behave.) #41458
+
 2003-04-16  Ettore Perazzoli  <ettore ximian com>
 
 	* e-search-bar.c (remove_bonobo_menus): Only do the actual remove
Index: e-dateedit.c
===================================================================
RCS file: /cvs/gnome/evolution/widgets/misc/e-dateedit.c,v
retrieving revision 1.31
diff -u -r1.31 e-dateedit.c
--- e-dateedit.c	25 Feb 2003 07:03:46 -0000	1.31
+++ e-dateedit.c	29 Apr 2003 15:46:59 -0000
@@ -138,10 +138,6 @@
 static void create_children			(EDateEdit	*dedit);
 static void e_date_edit_dispose			(GObject	*object);
 static void e_date_edit_grab_focus		(GtkWidget	*widget);
-static void e_date_edit_forall			(GtkContainer   *container,
-						 gboolean	 include_internals,
-						 GtkCallback     callback,
-						 gpointer	 callback_data);
 
 static gint on_date_entry_key_press		(GtkWidget	*widget,
 						 GdkEventKey	*event,
@@ -241,7 +237,6 @@
 {
 	GObjectClass *object_class = (GObjectClass *) class;
 	GtkWidgetClass *widget_class = (GtkWidgetClass *) class;
-	GtkContainerClass *container_class = (GtkContainerClass *) class;
 
 	parent_class = g_type_class_ref (GTK_TYPE_HBOX);
 
@@ -258,8 +253,6 @@
 
 	widget_class->grab_focus = e_date_edit_grab_focus;
 
-	container_class->forall = e_date_edit_forall;
-
 	class->changed = NULL;
 }
 
@@ -516,24 +509,6 @@
 
 	gtk_entry_set_editable (GTK_ENTRY (priv->date_entry), editable);
 	gtk_widget_set_sensitive (priv->date_button, editable);
-}
-
-static void
-e_date_edit_forall		(GtkContainer	*container,
-				 gboolean	 include_internals,
-				 GtkCallback	 callback,
-				 gpointer	 callback_data)
-{
-	g_return_if_fail (E_IS_DATE_EDIT (container));
-	g_return_if_fail (callback != NULL);
-
-	/* Let GtkBox handle the internal widgets if needed. */
-	if (include_internals) {
-		if (GTK_CONTAINER_CLASS (parent_class)->forall)
-			(* GTK_CONTAINER_CLASS (parent_class)->forall)
-				(container, include_internals,
-				 callback, callback_data);
-	}
 }
 
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]