Chain. Prevent double unrefs. (impl_finalize): Chain.
2003-08-12 Hans Petter Jansson <hpj@ximian.com> * gui/calendar-offline-handler.c (impl_dispose): Chain. Prevent double unrefs. (impl_finalize): Chain. * gui/e-alarm-list.c (finalize): Chain. * gui/e-comp-editor-registry.c (destroy): Chain. Prevent double frees. (editor_destroy_cb): Don't crash if we get the destroy signal twice. * gui/e-date-time-list.c (e_date_time_list_finalize): Chain. * gui/e-meeting-attendee.c (finalize): Chain. * gui/e-meeting-model.c (finalize): Chain. svn path=/trunk/; revision=22228
This commit is contained in:

committed by
Hans Petter

parent
1f607a46c3
commit
7a208fc48c
@ -1,3 +1,20 @@
|
|||||||
|
2003-08-12 Hans Petter Jansson <hpj@ximian.com>
|
||||||
|
|
||||||
|
* gui/calendar-offline-handler.c (impl_dispose): Chain. Prevent
|
||||||
|
double unrefs.
|
||||||
|
(impl_finalize): Chain.
|
||||||
|
|
||||||
|
* gui/e-alarm-list.c (finalize): Chain.
|
||||||
|
|
||||||
|
* gui/e-comp-editor-registry.c (destroy): Chain. Prevent double frees.
|
||||||
|
(editor_destroy_cb): Don't crash if we get the destroy signal twice.
|
||||||
|
|
||||||
|
* gui/e-date-time-list.c (e_date_time_list_finalize): Chain.
|
||||||
|
|
||||||
|
* gui/e-meeting-attendee.c (finalize): Chain.
|
||||||
|
|
||||||
|
* gui/e-meeting-model.c (finalize): Chain.
|
||||||
|
|
||||||
2003-08-12 Andrew Wu <Yang.Wu@sun.com>
|
2003-08-12 Andrew Wu <Yang.Wu@sun.com>
|
||||||
|
|
||||||
* gui/e-day-view.c
|
* gui/e-day-view.c
|
||||||
|
@ -258,7 +258,10 @@ impl_dispose (GObject *object)
|
|||||||
offline_handler = CALENDAR_OFFLINE_HANDLER (object);
|
offline_handler = CALENDAR_OFFLINE_HANDLER (object);
|
||||||
priv = offline_handler->priv;
|
priv = offline_handler->priv;
|
||||||
|
|
||||||
g_object_unref (priv->client);
|
if (priv->client) {
|
||||||
|
g_object_unref (priv->client);
|
||||||
|
priv->client = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
if (priv->listener_interface != CORBA_OBJECT_NIL) {
|
if (priv->listener_interface != CORBA_OBJECT_NIL) {
|
||||||
CORBA_Environment ev;
|
CORBA_Environment ev;
|
||||||
@ -270,6 +273,8 @@ impl_dispose (GObject *object)
|
|||||||
priv->listener_interface = CORBA_OBJECT_NIL;
|
priv->listener_interface = CORBA_OBJECT_NIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (G_OBJECT_CLASS (parent_class)->dispose)
|
||||||
|
(* G_OBJECT_CLASS (parent_class)->dispose) (object);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -282,6 +287,9 @@ impl_finalize (GObject *object)
|
|||||||
priv = offline_handler->priv;
|
priv = offline_handler->priv;
|
||||||
|
|
||||||
g_free (priv);
|
g_free (priv);
|
||||||
|
|
||||||
|
if (G_OBJECT_CLASS (parent_class)->finalize)
|
||||||
|
(* G_OBJECT_CLASS (parent_class)->finalize) (object);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* GTK+ type initialization. */
|
/* GTK+ type initialization. */
|
||||||
|
@ -225,6 +225,9 @@ static void
|
|||||||
e_alarm_list_finalize (GObject *object)
|
e_alarm_list_finalize (GObject *object)
|
||||||
{
|
{
|
||||||
EAlarmList *alarm_list = E_ALARM_LIST (object);
|
EAlarmList *alarm_list = E_ALARM_LIST (object);
|
||||||
|
|
||||||
|
if (G_OBJECT_CLASS (parent_class)->finalize)
|
||||||
|
(* G_OBJECT_CLASS (parent_class)->finalize) (object);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Fulfill the GtkTreeModel requirements */
|
/* Fulfill the GtkTreeModel requirements */
|
||||||
|
@ -50,13 +50,21 @@ destroy (GtkObject *obj)
|
|||||||
{
|
{
|
||||||
ECompEditorRegistry *reg;
|
ECompEditorRegistry *reg;
|
||||||
ECompEditorRegistryPrivate *priv;
|
ECompEditorRegistryPrivate *priv;
|
||||||
|
|
||||||
reg = E_COMP_EDITOR_REGISTRY (obj);
|
reg = E_COMP_EDITOR_REGISTRY (obj);
|
||||||
priv = reg->priv;
|
priv = reg->priv;
|
||||||
|
|
||||||
g_hash_table_destroy (priv->editors);
|
if (priv) {
|
||||||
|
if (priv->editors) {
|
||||||
g_free (priv);
|
g_hash_table_destroy (priv->editors);
|
||||||
|
priv->editors = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
g_free (priv);
|
||||||
|
reg->priv = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
(* GTK_OBJECT_CLASS (parent_class)->destroy) (obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -195,10 +203,10 @@ editor_destroy_cb (GtkWidget *widget, gpointer data)
|
|||||||
cal_component_get_uid (comp, &uid);
|
cal_component_get_uid (comp, &uid);
|
||||||
|
|
||||||
rdata = g_hash_table_lookup (priv->editors, uid);
|
rdata = g_hash_table_lookup (priv->editors, uid);
|
||||||
g_assert (rdata != NULL);
|
|
||||||
|
|
||||||
g_hash_table_remove (priv->editors, rdata->uid);
|
|
||||||
g_free (rdata->uid);
|
|
||||||
g_free (rdata);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if (rdata != NULL) {
|
||||||
|
g_hash_table_remove (priv->editors, rdata->uid);
|
||||||
|
g_free (rdata->uid);
|
||||||
|
g_free (rdata);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -223,6 +223,9 @@ static void
|
|||||||
e_date_time_list_finalize (GObject *object)
|
e_date_time_list_finalize (GObject *object)
|
||||||
{
|
{
|
||||||
EDateTimeList *date_time_list = E_DATE_TIME_LIST (object);
|
EDateTimeList *date_time_list = E_DATE_TIME_LIST (object);
|
||||||
|
|
||||||
|
if (G_OBJECT_CLASS (parent_class)->finalize)
|
||||||
|
(* G_OBJECT_CLASS (parent_class)->finalize) (object);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Fulfill the GtkTreeModel requirements */
|
/* Fulfill the GtkTreeModel requirements */
|
||||||
|
@ -187,6 +187,9 @@ finalize (GObject *obj)
|
|||||||
g_array_free (priv->busy_periods, TRUE);
|
g_array_free (priv->busy_periods, TRUE);
|
||||||
|
|
||||||
g_free (priv);
|
g_free (priv);
|
||||||
|
|
||||||
|
if (G_OBJECT_CLASS (parent_class)->finalize)
|
||||||
|
(* G_OBJECT_CLASS (parent_class)->finalize) (obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
GObject *
|
GObject *
|
||||||
|
@ -671,6 +671,9 @@ finalize (GObject *obj)
|
|||||||
g_source_remove (priv->refresh_idle_id);
|
g_source_remove (priv->refresh_idle_id);
|
||||||
|
|
||||||
g_free (priv);
|
g_free (priv);
|
||||||
|
|
||||||
|
if (G_OBJECT_CLASS (parent_class)->finalize)
|
||||||
|
(* G_OBJECT_CLASS (parent_class)->finalize) (obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
GtkObject *
|
GtkObject *
|
||||||
|
Reference in New Issue
Block a user