aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui
diff options
context:
space:
mode:
authorFederico Mena Quintero <federico@ximian.com>2001-08-09 14:25:54 +0800
committerFederico Mena Quintero <federico@src.gnome.org>2001-08-09 14:25:54 +0800
commitdf0dbaef4aa3530ca72ff879b51472d6dc1a8ad0 (patch)
treef1cab3cb2984ee9c57d181e0865ceabcd9c0e037 /calendar/gui
parent8f3673b5fe40cf73bdb5fa8000c96969a9de9353 (diff)
downloadgsoc2013-evolution-df0dbaef4aa3530ca72ff879b51472d6dc1a8ad0.tar.gz
gsoc2013-evolution-df0dbaef4aa3530ca72ff879b51472d6dc1a8ad0.tar.zst
gsoc2013-evolution-df0dbaef4aa3530ca72ff879b51472d6dc1a8ad0.zip
Chain to the destroy handler in the parent class!
2001-08-09 Federico Mena Quintero <federico@ximian.com> * gui/e-itip-control.c (destroy): Chain to the destroy handler in the parent class! * gui/dialogs/comp-editor-page.c (comp_editor_page_destroy): Likewise. Sigh. * gui/cal-search-bar.c (cal_search_bar_destroy): Whoops, added a destroy handler. svn path=/trunk/; revision=11820
Diffstat (limited to 'calendar/gui')
-rw-r--r--calendar/gui/cal-search-bar.c29
-rw-r--r--calendar/gui/dialogs/comp-editor-page.c7
-rw-r--r--calendar/gui/e-itip-control.c3
3 files changed, 39 insertions, 0 deletions
diff --git a/calendar/gui/cal-search-bar.c b/calendar/gui/cal-search-bar.c
index a112409412..5ffbfcdb82 100644
--- a/calendar/gui/cal-search-bar.c
+++ b/calendar/gui/cal-search-bar.c
@@ -68,10 +68,13 @@ struct CalSearchBarPrivate {
static void cal_search_bar_class_init (CalSearchBarClass *class);
static void cal_search_bar_init (CalSearchBar *cal_search);
+static void cal_search_bar_destroy (GtkObject *object);
static void cal_search_bar_query_changed (ESearchBar *search);
static void cal_search_bar_menu_activated (ESearchBar *search, int item);
+static ESearchBarClass *parent_class = NULL;
+
/* Signal IDs */
enum {
SEXP_CHANGED,
@@ -124,6 +127,8 @@ cal_search_bar_class_init (CalSearchBarClass *class)
e_search_bar_class = (ESearchBarClass *) class;
object_class = (GtkObjectClass *) class;
+ parent_class = gtk_type_class (E_SEARCH_BAR_TYPE);
+
cal_search_bar_signals[SEXP_CHANGED] =
gtk_signal_new ("sexp_changed",
GTK_RUN_FIRST,
@@ -149,6 +154,8 @@ cal_search_bar_class_init (CalSearchBarClass *class)
e_search_bar_class->query_changed = cal_search_bar_query_changed;
e_search_bar_class->menu_activated = cal_search_bar_menu_activated;
+
+ object_class->destroy = cal_search_bar_destroy;
}
/* Object initialization function for the calendar search bar */
@@ -163,6 +170,28 @@ cal_search_bar_init (CalSearchBar *cal_search)
priv->categories_omenu = NULL;
}
+/* Destroy handler for the calendar search bar */
+static void
+cal_search_bar_destroy (GtkObject *object)
+{
+ CalSearchBar *cal_search;
+ CalSearchBarPrivate *priv;
+
+ g_return_if_fail (object != NULL);
+ g_return_if_fail (IS_CAL_SEARCH_BAR (object));
+
+ cal_search = CAL_SEARCH_BAR (object);
+ priv = cal_search->priv;
+
+ priv->categories_omenu = NULL;
+
+ g_free (priv);
+ cal_search->priv = NULL;
+
+ if (GTK_OBJECT_CLASS (parent_class)->destroy)
+ (* GTK_OBJECT_CLASS (parent_class)->destroy) (object);
+}
+
/* Emits the "sexp_changed" signal for the calendar search bar */
diff --git a/calendar/gui/dialogs/comp-editor-page.c b/calendar/gui/dialogs/comp-editor-page.c
index 4e15ebeda9..27f4041d3a 100644
--- a/calendar/gui/dialogs/comp-editor-page.c
+++ b/calendar/gui/dialogs/comp-editor-page.c
@@ -32,6 +32,8 @@ static void comp_editor_page_class_init (CompEditorPageClass *class);
static void comp_editor_page_init (CompEditorPage *page);
static void comp_editor_page_destroy (GtkObject *object);
+static GtkObjectClass *parent_class = NULL;
+
/* Signal IDs */
enum {
@@ -89,6 +91,8 @@ comp_editor_page_class_init (CompEditorPageClass *class)
object_class = (GtkObjectClass *) class;
+ parent_class = gtk_type_class (GTK_TYPE_OBJECT);
+
comp_editor_page_signals[CHANGED] =
gtk_signal_new ("changed",
GTK_RUN_FIRST,
@@ -166,6 +170,9 @@ comp_editor_page_destroy (GtkObject *object)
gtk_object_ref (GTK_OBJECT (page->client));
page->client = NULL;
}
+
+ if (GTK_OBJECT_CLASS (parent_class)->destroy)
+ (* GTK_OBJECT_CLASS (parent_class)->destroy) (object);
}
diff --git a/calendar/gui/e-itip-control.c b/calendar/gui/e-itip-control.c
index 45f49421ae..e5400cd97a 100644
--- a/calendar/gui/e-itip-control.c
+++ b/calendar/gui/e-itip-control.c
@@ -385,6 +385,9 @@ destroy (GtkObject *obj)
gtk_object_unref (GTK_OBJECT (priv->task_client));
g_free (priv);
+
+ if (GTK_OBJECT_CLASS (parent_class)->destroy)
+ (* GTK_OBJECT_CLASS (parent_class)->destroy) (obj);
}
GtkWidget *