From 1ebee5b96f0861a48a1de9b8230540d740dd65cf Mon Sep 17 00:00:00 2001 From: Federico Mena Quintero Date: Thu, 18 Jan 2001 17:23:20 +0000 Subject: New files with a simple sequence to migrate the task components from the 2001-01-18 Federico Mena Quintero * gui/tasks-migrate.[ch]: New files with a simple sequence to migrate the task components from the old calendar folder into the new tasks folder. * gui/component-factory.c (owner_set_cb): Call tasks_migrate() once evolution_dir is set. It sucks to have to do this here. * cal-client/cal-client.c (cal_client_get_uids): In the inline docs, indicate how to free the return value. (cal_opened_cb): Ahem, moved assertion to the right place. Also, ref() and unref() around our own signal emission because we are not inside a signal handler, rather a simple callback from the listener object; we want to have a chance to clean up even if the client is unrefed during the emission. * gui/Makefile.am (evolution_calendar_SOURCES): Added tasks-migrate.[ch] to the list of sources. 2001-01-17 Federico Mena Quintero * gui/event-editor.c (init_widgets): Use e_calendar_item_set_max_days_sel() instead of setting GTK+ object arguments. * gui/e-day-view.c (e_day_view_set_cal_client): Oops, we had a reversed test for the client being loaded. * gui/tag-calendar.c (tag_calendar_by_client): Fixed similarly reversed test. svn path=/trunk/; revision=7622 --- calendar/cal-client/cal-client.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'calendar/cal-client') diff --git a/calendar/cal-client/cal-client.c b/calendar/cal-client/cal-client.c index a89cfae40c..0012ec3706 100644 --- a/calendar/cal-client/cal-client.c +++ b/calendar/cal-client/cal-client.c @@ -347,7 +347,13 @@ cal_opened_cb (CalListener *listener, out: - g_assert (priv->load_state != CAL_CLIENT_LOAD_LOADING); + /* We are *not* inside a signal handler (this is just a simple callback + * called from the listener), so there is not a temporary reference to + * the client object. We ref() so that we can safely emit our own + * signal and clean up. + */ + + gtk_object_ref (GTK_OBJECT (client)); gtk_signal_emit (GTK_OBJECT (client), cal_client_signals[CAL_OPENED], client_status); @@ -357,6 +363,10 @@ cal_opened_cb (CalListener *listener, g_free (priv->uri); priv->uri = NULL; } + + g_assert (priv->load_state != CAL_CLIENT_LOAD_LOADING); + + gtk_object_unref (GTK_OBJECT (client)); } /* Handle the obj_updated signal from the listener */ @@ -713,7 +723,8 @@ build_uid_list (GNOME_Evolution_Calendar_CalObjUIDSeq *seq) * Queries a calendar for a list of unique identifiers corresponding to calendar * objects whose type matches one of the types specified in the @type flags. * - * Return value: A list of strings that are the sought UIDs. + * Return value: A list of strings that are the sought UIDs. This should be + * freed using the cal_obj_uid_list_free() function. **/ GList * cal_client_get_uids (CalClient *client, CalObjType type) -- cgit