[evolution/gnome-2-26] Calendar - do not close editor after error



commit ca0bb45eeee2823b73a9fc456ab86fda8a22f6c1
Author: Milan Crha <mcrha redhat com>
Date:   Fri Apr 24 20:55:04 2009 +0200

    Calendar - do not close editor after error
    
            ** Fix for bug #573704
---
 calendar/ChangeLog                 |    7 +++++++
 calendar/gui/dialogs/comp-editor.c |   20 +++++++++++++-------
 2 files changed, 20 insertions(+), 7 deletions(-)

diff --git a/calendar/ChangeLog b/calendar/ChangeLog
index b97027d..e5d81cf 100644
--- a/calendar/ChangeLog
+++ b/calendar/ChangeLog
@@ -1,5 +1,12 @@
 2009-04-24  Milan Crha  <mcrha redhat com>
 
+	** Fix for bug #573704
+
+	* gui/dialogs/comp-editor.c: (action_save_cb), (real_send_comp):
+	Do not close editor after error.
+
+2009-04-24  Milan Crha  <mcrha redhat com>
+
 	** Part of fix for bug #571272
 
 	* gui/e-cal-model.c: (search_by_id_and_client):	Possible leak fix.
diff --git a/calendar/gui/dialogs/comp-editor.c b/calendar/gui/dialogs/comp-editor.c
index 7a083a3..f303435 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;
 		}
 	}
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]