diff options
author | Federico Mena Quintero <federico@ximian.com> | 2001-01-19 01:23:20 +0800 |
---|---|---|
committer | Federico Mena Quintero <federico@src.gnome.org> | 2001-01-19 01:23:20 +0800 |
commit | 1ebee5b96f0861a48a1de9b8230540d740dd65cf (patch) | |
tree | d765eaa62e5560f4fc096eabc56c430d9a57f6c3 /calendar/cal-client/cal-client.c | |
parent | 12347daf568506538abf8f63c54c2699e8e8d383 (diff) | |
download | gsoc2013-evolution-1ebee5b96f0861a48a1de9b8230540d740dd65cf.tar.gz gsoc2013-evolution-1ebee5b96f0861a48a1de9b8230540d740dd65cf.tar.zst gsoc2013-evolution-1ebee5b96f0861a48a1de9b8230540d740dd65cf.zip |
New files with a simple sequence to migrate the task components from the
2001-01-18 Federico Mena Quintero <federico@ximian.com>
* 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 <federico@ximian.com>
* 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
Diffstat (limited to 'calendar/cal-client/cal-client.c')
-rw-r--r-- | calendar/cal-client/cal-client.c | 15 |
1 files changed, 13 insertions, 2 deletions
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) |