removed, since we dont save the file anymore in idle callbacks.

2003-10-30  Rodrigo Moya <rodrigo@ximian.com>

	* pcs/cal-backend-file.c (mark_dirty, save_idle): removed, since
	we dont save the file anymore in idle callbacks.
	(cal_backend_file_dispose): removed all traces of the idle saving.
	(check_dup_uid, create_cal, cal_backend_file_add_timezone,
	cal_backend_file_create_object, cal_backend_file_modify_object,
	cal_backend_file_remove_object, cal_backend_file_receive_objects):
	call save() directly instead of mark_dirty().

svn path=/trunk/; revision=23132
This commit is contained in:
Rodrigo Moya
2003-10-30 12:34:10 +00:00
committed by Rodrigo Moya
parent 2e909f008c
commit 9800056508
2 changed files with 18 additions and 49 deletions

View File

@ -1,3 +1,13 @@
2003-10-30 Rodrigo Moya <rodrigo@ximian.com>
* pcs/cal-backend-file.c (mark_dirty, save_idle): removed, since
we dont save the file anymore in idle callbacks.
(cal_backend_file_dispose): removed all traces of the idle saving.
(check_dup_uid, create_cal, cal_backend_file_add_timezone,
cal_backend_file_create_object, cal_backend_file_modify_object,
cal_backend_file_remove_object, cal_backend_file_receive_objects):
call save() directly instead of mark_dirty().
2003-10-30 Rodrigo Moya <rodrigo@ximian.com>
* pcs/cal-backend-file.c (cal_backend_file_modify_object):

View File

@ -65,9 +65,6 @@ struct _CalBackendFilePrivate {
/* Config database handle for free/busy organizer information */
EConfigListener *config_listener;
/* Idle handler for saving the calendar when it is dirty */
guint idle_id;
/* The calendar's default timezone, used for resolving DATE and
floating DATE-TIME values. */
icaltimezone *default_zone;
@ -195,12 +192,6 @@ cal_backend_file_dispose (GObject *object)
/* Save if necessary */
if (priv->idle_id != 0) {
save (cbfile);
g_source_remove (priv->idle_id);
priv->idle_id = 0;
}
if (priv->comp_uid_hash) {
g_hash_table_foreach (priv->comp_uid_hash, (GHFunc) free_object, NULL);
g_hash_table_destroy (priv->comp_uid_hash);
@ -334,38 +325,6 @@ resolve_tzid (const char *tzid, gpointer user_data)
return icalcomponent_get_timezone (vcalendar_comp, tzid);
}
/* Idle handler; we save the calendar since it is dirty */
static gboolean
save_idle (gpointer data)
{
CalBackendFile *cbfile;
CalBackendFilePrivate *priv;
cbfile = CAL_BACKEND_FILE (data);
priv = cbfile->priv;
g_assert (priv->icalcomp != NULL);
save (cbfile);
priv->idle_id = 0;
return FALSE;
}
/* Marks the file backend as dirty and queues a save operation */
static void
mark_dirty (CalBackendFile *cbfile)
{
CalBackendFilePrivate *priv;
priv = cbfile->priv;
if (priv->idle_id != 0)
return;
priv->idle_id = g_idle_add (save_idle, cbfile);
}
/* Checks if the specified component has a duplicated UID and if so changes it */
static void
check_dup_uid (CalBackendFile *cbfile, CalComponent *comp)
@ -393,7 +352,7 @@ check_dup_uid (CalBackendFile *cbfile, CalComponent *comp)
* CREATED/DTSTAMP/LAST-MODIFIED.
*/
mark_dirty (cbfile);
save (cbfile);
}
static const char *
@ -652,7 +611,7 @@ create_cal (CalBackendFile *cbfile, const char *uristr)
priv->uri = g_strdup (uristr);
mark_dirty (cbfile);
save (cbfile);
return GNOME_Evolution_Calendar_Success;
}
@ -949,7 +908,7 @@ cal_backend_file_add_timezone (CalBackendSync *backend, Cal *cal, const char *tz
if (!icalcomponent_get_timezone (priv->icalcomp,
icaltimezone_get_tzid (zone))) {
icalcomponent_add_component (priv->icalcomp, tz_comp);
mark_dirty (cbfile);
save (cbfile);
}
icaltimezone_free (zone, 1);
@ -1409,8 +1368,8 @@ cal_backend_file_create_object (CalBackendSync *backend, Cal *cal, const char *c
/* Add the object */
add_component (cbfile, comp, TRUE);
/* Mark for saving */
mark_dirty (cbfile);
/* Save the file */
save (cbfile);
/* Return the UID */
if (uid)
@ -1522,7 +1481,7 @@ cal_backend_file_modify_object (CalBackendSync *backend, Cal *cal, const char *c
break;
}
mark_dirty (cbfile);
save (cbfile);
if (old_object)
*old_object = cal_component_get_as_string (comp);
@ -1679,7 +1638,7 @@ cal_backend_file_remove_object (CalBackendSync *backend, Cal *cal,
break;
}
mark_dirty (cbfile);
save (cbfile);
return GNOME_Evolution_Calendar_Success;
}
@ -1842,7 +1801,7 @@ cal_backend_file_receive_objects (CalBackendSync *backend, Cal *cal, const char
resolving any conflicting TZIDs. */
icalcomponent_merge_component (priv->icalcomp, toplevel_comp);
mark_dirty (cbfile);
save (cbfile);
error:
g_hash_table_destroy (tzdata.zones);