aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/dialogs
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2009-04-25 02:53:03 +0800
committerMilan Crha <mcrha@redhat.com>2009-04-25 02:59:14 +0800
commit7088736007cca0e65306cd511ef50b5a57ae28b5 (patch)
tree252af6cb516937a34c276bb0a1024441ef6f90ea /calendar/gui/dialogs
parent3b55c81b1e95281b741803adcd52baf3e0310345 (diff)
downloadgsoc2013-evolution-7088736007cca0e65306cd511ef50b5a57ae28b5.tar.gz
gsoc2013-evolution-7088736007cca0e65306cd511ef50b5a57ae28b5.tar.zst
gsoc2013-evolution-7088736007cca0e65306cd511ef50b5a57ae28b5.zip
Calendar - do not close editor after error
** Fix for bug #573704
Diffstat (limited to 'calendar/gui/dialogs')
-rw-r--r--calendar/gui/dialogs/comp-editor.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/calendar/gui/dialogs/comp-editor.c b/calendar/gui/dialogs/comp-editor.c
index 7a083a37a1..f3034359c6 100644
--- a/calendar/gui/dialogs/comp-editor.c
+++ b/calendar/gui/dialogs/comp-editor.c
@@ -1206,9 +1206,11 @@ action_save_cb (GtkAction *action,
g_clear_error (&error);
}
- }
+ } else
+ correct = FALSE;
- close_dialog (editor);
+ if (correct)
+ close_dialog (editor);
}
static void
@@ -3113,14 +3115,13 @@ real_send_comp (CompEditor *editor, ECalComponentItipMethod method, gboolean str
set_attendees_for_delegation (send_comp, address, method);
}
- if (!e_cal_component_has_attachments (priv->comp)
- || e_cal_get_static_capability (priv->client, CAL_STATIC_CAPABILITY_CREATE_MESSAGES)) {
+ if (!e_cal_component_has_attachments (priv->comp)
+ || e_cal_get_static_capability (priv->client, CAL_STATIC_CAPABILITY_CREATE_MESSAGES)) {
if (itip_send_comp (method, send_comp, priv->client,
NULL, NULL, users, strip_alarms)) {
g_object_unref (send_comp);
return TRUE;
}
-
} else {
/* Clone the component with attachments set to CID:... */
int num_attachments, i;
@@ -3138,9 +3139,14 @@ real_send_comp (CompEditor *editor, ECalComponentItipMethod method, gboolean str
mime_attach_list = comp_editor_get_mime_attach_list (editor);
if (itip_send_comp (method, send_comp, priv->client,
NULL, mime_attach_list, users, strip_alarms)) {
- save_comp (editor);
+ gboolean saved = save_comp (editor);
+
g_object_unref (send_comp);
- return TRUE;
+
+ if (!saved)
+ comp_editor_set_changed (editor, TRUE);
+
+ return saved;
}
}