aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/e-meeting-list-view.c
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2010-12-06 23:30:30 +0800
committerMilan Crha <mcrha@redhat.com>2010-12-06 23:30:30 +0800
commit750abd6bed42e55a26b972102132bca4e57473dd (patch)
tree9384e8eb61b30f7f1a2f9c2a41981e3187dcdf95 /calendar/gui/e-meeting-list-view.c
parent98fe4433a020353e4a1a046621e7aca9f418896d (diff)
downloadgsoc2013-evolution-750abd6bed42e55a26b972102132bca4e57473dd.tar
gsoc2013-evolution-750abd6bed42e55a26b972102132bca4e57473dd.tar.gz
gsoc2013-evolution-750abd6bed42e55a26b972102132bca4e57473dd.tar.bz2
gsoc2013-evolution-750abd6bed42e55a26b972102132bca4e57473dd.tar.lz
gsoc2013-evolution-750abd6bed42e55a26b972102132bca4e57473dd.tar.xz
gsoc2013-evolution-750abd6bed42e55a26b972102132bca4e57473dd.tar.zst
gsoc2013-evolution-750abd6bed42e55a26b972102132bca4e57473dd.zip
Bug #620234 - Invalid writes during free/busy
Diffstat (limited to 'calendar/gui/e-meeting-list-view.c')
-rw-r--r--calendar/gui/e-meeting-list-view.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/calendar/gui/e-meeting-list-view.c b/calendar/gui/e-meeting-list-view.c
index 8d233cf1ef..f3c5cb8b49 100644
--- a/calendar/gui/e-meeting-list-view.c
+++ b/calendar/gui/e-meeting-list-view.c
@@ -402,7 +402,7 @@ attendee_edited_cb (GtkCellRenderer *renderer, const gchar *path, GList *address
}
} else {
gboolean address_changed = FALSE;
- EMeetingAttendee *attendee = e_meeting_store_add_attendee_with_defaults (model);
+ EMeetingAttendee *attendee;
if (existing_attendee) {
const gchar *addr = e_meeting_attendee_get_address (existing_attendee);
@@ -413,7 +413,9 @@ attendee_edited_cb (GtkCellRenderer *renderer, const gchar *path, GList *address
address_changed = addr && g_ascii_strcasecmp (addr, email) != 0;
e_meeting_list_view_remove_attendee_from_name_selector (E_MEETING_LIST_VIEW (view), existing_attendee);
- e_meeting_store_remove_attendee (model, existing_attendee);
+ attendee = existing_attendee;
+ } else {
+ attendee = e_meeting_store_add_attendee_with_defaults (model);
}
value_edited (view, E_MEETING_STORE_ADDRESS_COL, path, email);
@@ -425,7 +427,7 @@ attendee_edited_cb (GtkCellRenderer *renderer, const gchar *path, GList *address
e_meeting_list_view_add_attendee_to_name_selector (E_MEETING_LIST_VIEW (view), attendee);
if (address_changed)
- e_meeting_attendee_set_status (existing_attendee, ICAL_PARTSTAT_NEEDSACTION);
+ e_meeting_attendee_set_status (attendee, ICAL_PARTSTAT_NEEDSACTION);
g_signal_emit_by_name (G_OBJECT (view), "attendee_added", (gpointer) attendee);
}