[evolution-mapi/f14/master] Updating patch for Gnome bug #627999

Milan Crha mcrha at fedoraproject.org
Tue Aug 31 14:58:29 UTC 2010


commit 54b42fb982fca4da6dd4d15ae27d4904d9763f22
Author: Milan Crha <mcrha at redhat.com>
Date:   Tue Aug 31 16:58:10 2010 +0200

    Updating patch for Gnome bug #627999

 evolution-mapi-0.31.91-gn627999.patch |   68 +++++++++++++++++++++------------
 1 files changed, 43 insertions(+), 25 deletions(-)
---
diff --git a/evolution-mapi-0.31.91-gn627999.patch b/evolution-mapi-0.31.91-gn627999.patch
index c0086a1..a87e152 100644
--- a/evolution-mapi-0.31.91-gn627999.patch
+++ b/evolution-mapi-0.31.91-gn627999.patch
@@ -1,8 +1,18 @@
 diff --git a/src/addressbook/e-book-backend-mapi.c b/src/addressbook/e-book-backend-mapi.c
-index 08ef743..32dc1bd 100644
+index 08ef743..1067ac4 100644
 --- a/src/addressbook/e-book-backend-mapi.c
 +++ b/src/addressbook/e-book-backend-mapi.c
-@@ -406,13 +406,16 @@ ebbm_load_source (EBookBackendMAPI *ebma, ESource *source, gboolean only_if_exis
+@@ -242,7 +242,9 @@ ebbm_fetch_contacts (EBookBackendMAPI *ebma, struct mapi_SRestriction *restricti
+ 	g_return_if_fail (ebmac != NULL);
+ 	g_return_if_fail (ebmac->op_fetch_contacts != NULL);
+ 
++	e_file_cache_freeze_changes (E_FILE_CACHE (ebma->priv->cache));
+ 	ebmac->op_fetch_contacts (ebma, restriction, book_view, &notify_data, error);
++	e_file_cache_thaw_changes (E_FILE_CACHE (ebma->priv->cache));
+ 
+ 	if (last_modification_secs && *last_modification_secs < notify_data.last_modification)
+ 		*last_modification_secs = notify_data.last_modification;
+@@ -406,13 +408,16 @@ ebbm_load_source (EBookBackendMAPI *ebma, ESource *source, gboolean only_if_exis
  	priv->summary = e_book_backend_summary_new (summary_file_name, SUMMARY_FLUSH_TIMEOUT_SECS * 1000);
  
  	if (g_file_test (summary_file_name, G_FILE_TEST_EXISTS)) {
@@ -21,7 +31,7 @@ index 08ef743..32dc1bd 100644
  	g_free (summary_file_name);
  
  	e_book_backend_set_is_loaded (E_BOOK_BACKEND (ebma), TRUE);
-@@ -506,6 +509,7 @@ ebbm_authenticate_user (EBookBackendMAPI *ebma, const gchar *user, const gchar *
+@@ -506,6 +511,7 @@ ebbm_authenticate_user (EBookBackendMAPI *ebma, const gchar *user, const gchar *
  {
  	EBookBackendMAPIPrivate *priv = ebma->priv;
  	GError *mapi_error = NULL;
@@ -29,37 +39,39 @@ index 08ef743..32dc1bd 100644
  
  	switch (priv->mode) {
  	case E_DATA_BOOK_MODE_LOCAL:
-@@ -521,17 +525,19 @@ ebbm_authenticate_user (EBookBackendMAPI *ebma, const gchar *user, const gchar *
+@@ -521,17 +527,18 @@ ebbm_authenticate_user (EBookBackendMAPI *ebma, const gchar *user, const gchar *
  
  		e_book_backend_mapi_lock_connection (ebma);
  
 -		if (priv->conn) {
 -			g_object_unref (priv->conn);
 -			priv->conn = NULL;
--		}
 +		old_conn = priv->conn;
 +		priv->conn = NULL;
++
++		priv->conn = exchange_mapi_connection_new (priv->profile, passwd, &mapi_error);
++		if (!priv->conn) {
++			priv->conn = exchange_mapi_connection_find (priv->profile);
++			if (priv->conn && !exchange_mapi_connection_connected (priv->conn))
++				exchange_mapi_connection_reconnect (priv->conn, passwd, &mapi_error);
+ 		}
  
- 		/* rather reuse already established connection */
- 		priv->conn = exchange_mapi_connection_find (priv->profile);
+-		/* rather reuse already established connection */
+-		priv->conn = exchange_mapi_connection_find (priv->profile);
 -		if (priv->conn && !exchange_mapi_connection_connected (priv->conn))
-+		if (priv->conn && !exchange_mapi_connection_connected (priv->conn)) {
- 			exchange_mapi_connection_reconnect (priv->conn, passwd, &mapi_error);
+-			exchange_mapi_connection_reconnect (priv->conn, passwd, &mapi_error);
 -		else if (!priv->conn)
-+		} else if (!priv->conn) {
- 			priv->conn = exchange_mapi_connection_new (priv->profile, passwd, &mapi_error);
-+		}
-+
+-			priv->conn = exchange_mapi_connection_new (priv->profile, passwd, &mapi_error);
 +		if (old_conn)
 +			g_object_unref (old_conn);
  
  		if (!priv->conn || mapi_error) {
  			if (priv->conn) {
 diff --git a/src/calendar/e-cal-backend-mapi.c b/src/calendar/e-cal-backend-mapi.c
-index bd0b5c9..7d88698 100644
+index bd0b5c9..de4cc27 100644
 --- a/src/calendar/e-cal-backend-mapi.c
 +++ b/src/calendar/e-cal-backend-mapi.c
-@@ -183,13 +183,13 @@ ecbm_authenticate (ECalBackend *backend, GError **perror)
+@@ -183,20 +183,23 @@ ecbm_authenticate (ECalBackend *backend, GError **perror)
  {
  	ECalBackendMAPI *cbmapi;
  	ECalBackendMAPIPrivate *priv;
@@ -72,19 +84,25 @@ index bd0b5c9..7d88698 100644
 -	if (priv->conn)
 -		g_object_unref (priv->conn);
 +	old_conn = priv->conn;
- 
- 	/* rather reuse already established connection */
- 	priv->conn = exchange_mapi_connection_find (priv->profile);
-@@ -198,6 +198,9 @@ ecbm_authenticate (ECalBackend *backend, GError **perror)
- 	else if (!priv->conn)
- 		priv->conn = exchange_mapi_connection_new (priv->profile, priv->password, &mapi_error);
- 
++
++	priv->conn = exchange_mapi_connection_new (priv->profile, priv->password, &mapi_error);
++	if (!priv->conn) {
++		priv->conn = exchange_mapi_connection_find (priv->profile);
++		if (priv->conn && !exchange_mapi_connection_connected (priv->conn))
++			exchange_mapi_connection_reconnect (priv->conn, priv->password, &mapi_error);
++	}
+ 
+-	/* rather reuse already established connection */
+-	priv->conn = exchange_mapi_connection_find (priv->profile);
+-	if (priv->conn && !exchange_mapi_connection_connected (priv->conn))
+-		exchange_mapi_connection_reconnect (priv->conn, priv->password, &mapi_error);
+-	else if (!priv->conn)
+-		priv->conn = exchange_mapi_connection_new (priv->profile, priv->password, &mapi_error);
 +	if (old_conn)
 +		g_object_unref (old_conn);
-+
+ 
  	if (priv->conn && exchange_mapi_connection_connected (priv->conn)) {
  		/* Success */;
- 	} else {
 diff --git a/src/camel/camel-mapi-store.c b/src/camel/camel-mapi-store.c
 index f677e7c..d5f2b70 100644
 --- a/src/camel/camel-mapi-store.c
@@ -94,8 +112,8 @@ index f677e7c..d5f2b70 100644
  		fnevObjectModified | fnevObjectMoved | fnevObjectCopied;
  
 -	if (!store->priv->notification_data)
-+	/* use MAPI_NO_NOTIFY=1 to disable notifications */
-+	if (!store->priv->notification_data && g_getenv ("MAPI_NO_NOTIFY") == NULL)
++	/* use MAPI_LISTEN_NOTIFY=1 to enable notifications */
++	if (!store->priv->notification_data && g_getenv ("MAPI_LISTEN_NOTIFY") != NULL)
  		store->priv->notification_data = camel_mapi_notification_listener_start (store, event_mask, MAPI_EVENTS_USE_STORE);
  
  	camel_store_summary_save ((CamelStoreSummary *) store->summary);


More information about the scm-commits mailing list