aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/dialogs
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/gui/dialogs')
-rw-r--r--calendar/gui/dialogs/event-page.c41
-rw-r--r--calendar/gui/dialogs/task-page.c5
2 files changed, 25 insertions, 21 deletions
diff --git a/calendar/gui/dialogs/event-page.c b/calendar/gui/dialogs/event-page.c
index ca42dd92fb..ffbd37d850 100644
--- a/calendar/gui/dialogs/event-page.c
+++ b/calendar/gui/dialogs/event-page.c
@@ -1825,27 +1825,28 @@ attendee_added_cb (EMeetingListView *emlv,
client = comp_editor_get_client (editor);
flags = comp_editor_get_flags (editor);
- if (flags & COMP_EDITOR_DELEGATE) {
- if (existing_attendee (ia, priv->comp))
- e_meeting_store_remove_attendee (priv->model, ia);
- else {
- if (!e_cal_get_static_capability (client,
- CAL_STATIC_CAPABILITY_DELEGATE_TO_MANY)) {
- const char *delegator_id = e_meeting_attendee_get_delfrom (ia);
- EMeetingAttendee *delegator;
-
- delegator = e_meeting_store_find_attendee (priv->model, delegator_id, NULL);
- e_meeting_attendee_set_delto (delegator,
- g_strdup (e_meeting_attendee_get_address (ia)));
-
- e_meeting_attendee_set_delfrom (ia, g_strdup_printf ("MAILTO:%s", delegator_id));
- gtk_widget_set_sensitive (priv->invite, FALSE);
- gtk_widget_set_sensitive (priv->add, FALSE);
- gtk_widget_set_sensitive (priv->edit, FALSE);
- }
- }
-}
+ if (!(flags & COMP_EDITOR_DELEGATE))
+ return;
+
+ if (existing_attendee (ia, priv->comp)) {
+ e_meeting_store_remove_attendee (priv->model, ia);
+ } else {
+ if (!e_cal_get_static_capability (client, CAL_STATIC_CAPABILITY_DELEGATE_TO_MANY)) {
+ const char *delegator_id = e_meeting_attendee_get_delfrom (ia);
+ EMeetingAttendee *delegator;
+ delegator = e_meeting_store_find_attendee (priv->model, delegator_id, NULL);
+
+ g_return_if_fail (delegator != NULL);
+
+ e_meeting_attendee_set_delto (delegator, g_strdup (e_meeting_attendee_get_address (ia)));
+
+ e_meeting_attendee_set_delfrom (ia, g_strdup (delegator_id));
+ gtk_widget_set_sensitive (priv->invite, FALSE);
+ gtk_widget_set_sensitive (priv->add, FALSE);
+ gtk_widget_set_sensitive (priv->edit, FALSE);
+ }
+ }
}
/* Callbacks for list view*/
diff --git a/calendar/gui/dialogs/task-page.c b/calendar/gui/dialogs/task-page.c
index 7f2969abd2..c00a42f4bc 100644
--- a/calendar/gui/dialogs/task-page.c
+++ b/calendar/gui/dialogs/task-page.c
@@ -1160,8 +1160,11 @@ attendee_added_cb (EMeetingListView *emlv,
EMeetingAttendee *delegator;
delegator = e_meeting_store_find_attendee (priv->model, delegator_id, NULL);
+
+ g_return_if_fail (delegator != NULL);
+
e_meeting_attendee_set_delto (delegator,
- g_strdup (e_meeting_attendee_get_address (ia)));
+ g_strdup (e_meeting_attendee_get_address (ia)));
gtk_widget_set_sensitive (priv->invite, FALSE);
gtk_widget_set_sensitive (priv->add, FALSE);