diff options
author | JP Rosevear <jpr@novell.com> | 2005-01-08 04:49:18 +0800 |
---|---|---|
committer | JP Rosevear <jpr@src.gnome.org> | 2005-01-08 04:49:18 +0800 |
commit | b12dec1c48fba6202e9e854f23f1975f8329c0ec (patch) | |
tree | 259313b3367fe5fb42320c0c0cdb074ae316af48 /plugins/itip-formatter/itip-formatter.c | |
parent | 7ebffdce1b5df71cb40b7b86a4d0350971fde788 (diff) | |
download | gsoc2013-evolution-b12dec1c48fba6202e9e854f23f1975f8329c0ec.tar.gz gsoc2013-evolution-b12dec1c48fba6202e9e854f23f1975f8329c0ec.tar.zst gsoc2013-evolution-b12dec1c48fba6202e9e854f23f1975f8329c0ec.zip |
ensure there is only one attendee in the RSVP even if the user is
2005-01-07 JP Rosevear <jpr@novell.com>
* itip-formatter.c (view_response_cb): ensure there is only one
attendee in the RSVP even if the user is duplicated
svn path=/trunk/; revision=28279
Diffstat (limited to 'plugins/itip-formatter/itip-formatter.c')
-rw-r--r-- | plugins/itip-formatter/itip-formatter.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/plugins/itip-formatter/itip-formatter.c b/plugins/itip-formatter/itip-formatter.c index 8e22e7d239..03c9b9689a 100644 --- a/plugins/itip-formatter/itip-formatter.c +++ b/plugins/itip-formatter/itip-formatter.c @@ -927,7 +927,8 @@ view_response_cb (GtkWidget *widget, ItipViewResponse response, gpointer data) icalvalue *value; const char *attendee, *comment; GSList *l, *list = NULL; - + gboolean found; + comp = e_cal_component_clone (pitip->comp); if (comp == NULL) return; @@ -941,6 +942,7 @@ view_response_cb (GtkWidget *widget, ItipViewResponse response, gpointer data) ical_comp = e_cal_component_get_icalcomponent (comp); /* Remove all attendees except the one we are responding as */ + found = FALSE; for (prop = icalcomponent_get_first_property (ical_comp, ICAL_ATTENDEE_PROPERTY); prop != NULL; prop = icalcomponent_get_next_property (ical_comp, ICAL_ATTENDEE_PROPERTY)) @@ -955,8 +957,13 @@ view_response_cb (GtkWidget *widget, ItipViewResponse response, gpointer data) text = g_strdup (itip_strip_mailto (attendee)); text = g_strstrip (text); - if (g_strcasecmp (pitip->my_address, text)) + + /* We do this to ensure there is at most one + * attendee in the response */ + if (found || g_strcasecmp (pitip->my_address, text)) list = g_slist_prepend (list, prop); + else if (!g_strcasecmp (pitip->my_address, text)) + found = TRUE; g_free (text); } |