diff options
Diffstat (limited to 'widgets/misc')
-rw-r--r-- | widgets/misc/ChangeLog | 8 | ||||
-rw-r--r-- | widgets/misc/e-search-bar.c | 14 |
2 files changed, 8 insertions, 14 deletions
diff --git a/widgets/misc/ChangeLog b/widgets/misc/ChangeLog index 12b2d6dd29..52265446ea 100644 --- a/widgets/misc/ChangeLog +++ b/widgets/misc/ChangeLog @@ -1,3 +1,8 @@ +2001-08-10 Jeffrey Stedfast <fejj@ximian.com> + + * e-search-bar.c (impl_destroy): Oops, we didn't need to unref all + of the widgets, just a few. + 2001-08-10 Jon Trowbridge <trow@ximian.com> * e-filter-bar.h: Set the subitems to NULL in the pre-defined @@ -14,9 +19,6 @@ 2001-08-10 Jeffrey Stedfast <fejj@ximian.com> - * e-search-bar.c (impl_destroy): Don't forget to unref stuff here - too. - * e-filter-bar.c (destroy): Free all the goodies that we allocate at construct time and unref the rule context. (class_init): Override the destroy method. diff --git a/widgets/misc/e-search-bar.c b/widgets/misc/e-search-bar.c index 9461bbecb4..ace1983371 100644 --- a/widgets/misc/e-search-bar.c +++ b/widgets/misc/e-search-bar.c @@ -514,11 +514,7 @@ impl_destroy (GtkObject *object) g_return_if_fail (object != NULL); g_return_if_fail (E_IS_SEARCH_BAR (object)); - - /* Should we really be unrefing all of these widgets? */ - gtk_object_unref (GTK_OBJECT (esb->dropdown)); - gtk_object_unref (GTK_OBJECT (esb->option)); - + /* These two we do need to unref, because we explicitly hold references to them. */ if (esb->entry) @@ -526,18 +522,14 @@ impl_destroy (GtkObject *object) if (esb->suboption) gtk_object_unref (GTK_OBJECT (esb->suboption)); - gtk_object_unref (GTK_OBJECT (esb->dropdown_holder)); - gtk_object_unref (GTK_OBJECT (esb->option_menu)); - gtk_object_unref (GTK_OBJECT (esb->dropdown_menu)); - g_list_foreach (esb->subitem_garbage, (GFunc) free_subitems, NULL); g_list_free (esb->subitem_garbage); - + if (esb->pending_change) { gtk_idle_remove (esb->pending_change); esb->pending_change = 0; } - + if (GTK_OBJECT_CLASS (parent_class)->destroy) GTK_OBJECT_CLASS (parent_class)->destroy (object); } |