Mailinglist Archive: opensuse-commit (1028 mails)

< Previous Next >
commit evolution-data-server
  • From: root@xxxxxxx (h_root)
  • Date: Fri, 9 Jun 2006 23:26:08 +0200 (CEST)
  • Message-id: <20060609212608.780BE30623@xxxxxxxxxxxxxxx>

Hello community,

here is the log from the commit of package evolution-data-server
checked in at Fri Jun 9 23:26:08 CEST 2006.

--------
--- GNOME/evolution-data-server/evolution-data-server.changes 2006-06-08 17:35:57.000000000 +0200
+++ evolution-data-server/evolution-data-server.changes 2006-06-09 11:22:48.000000000 +0200
@@ -0,0 +1,4 @@
+------------------------------------------------------------------
+Fri Jun 9 14:51:30 CEST 2006 - sdevashish@xxxxxxxxxx
+
+- Added bnc-170052-eds-crash.patch.

New:
----
bnc-170052-eds-crash.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ evolution-data-server.spec ++++++
--- /var/tmp/diff_new_pack.4dRFEh/_old 2006-06-09 23:25:51.000000000 +0200
+++ /var/tmp/diff_new_pack.4dRFEh/_new 2006-06-09 23:25:51.000000000 +0200
@@ -18,7 +18,7 @@
Autoreqprov: on
Summary: Evolution Data Server
Version: 1.6.0
-Release: 58
+Release: 60
Source: ftp://ftp.gnome.org/pub/gnome/sources/evolution-data-server/1.6/%{name}-%{version}.tar.bz2
#Patch3: evolution-data-server-gcc4.patch
Patch5: evolution-data-server-configure.patch
@@ -95,6 +95,7 @@
Patch74: bnc-181906-eds-ex-crash.diff
Patch75: eds-translations-updated.diff
Patch76: bnc-179350.patch
+Patch77: bnc-170052-eds-crash.patch
Url: http://www.gnome.org
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Requires: libsoup >= 2.2.6 mozilla-nss
@@ -200,6 +201,7 @@
%patch73
%patch74
%patch75
+%patch77

%build
rename no nb po/no.*
@@ -250,6 +252,8 @@
%{prefix}/share/gtk-doc/html/*

%changelog -n evolution-data-server
+* Fri Jun 09 2006 - sdevashish@xxxxxxxxxx
+- Added bnc-170052-eds-crash.patch.
* Thu Jun 08 2006 - fejj@xxxxxxx
- Added bnc-179350.patch which fixes a critical deadlock bug in the
GroupWise provider.

++++++ bnc-170052-eds-crash.patch ++++++
--- addressbook/backends/groupwise/e-book-backend-groupwise.c 2006-06-09 15:05:45.000000000 +0530
+++ addressbook/backends/groupwise/e-book-backend-groupwise-new.c 2006-06-09 14:35:19.000000000 +0530
@@ -73,12 +73,12 @@ struct _EBookBackendGroupwisePrivate {
int mode;
int cache_timeout;
EBookBackendSummary *summary;
+ GMutex *update_cache_mutex;
GMutex *update_mutex;
DB *file_db;
DB_ENV *env;
/* for future use */
void *reserved1;
- void *reserved2;
};

static GStaticMutex global_env_lock = G_STATIC_MUTEX_INIT;
@@ -1170,6 +1170,7 @@ e_book_backend_groupwise_create_contact
e_contact_set (contact, E_CONTACT_UID, id);
g_free (id);
e_book_backend_db_cache_add_contact (egwb->priv->file_db, contact);
+ egwb->priv->file_db->sync(egwb->priv->file_db, 0);
e_book_backend_summary_add_contact (egwb->priv->summary, contact);
e_data_book_respond_create(book, opid, GNOME_Evolution_Addressbook_Success, contact);

@@ -1223,6 +1224,7 @@ e_book_backend_groupwise_remove_contacts
e_book_backend_db_cache_remove_contact (ebgw->priv->file_db, id);
e_book_backend_summary_remove_contact (ebgw->priv->summary, id);
}
+ ebgw->priv->file_db->sync(ebgw->priv->file_db, 0);
e_data_book_respond_remove_contacts (book, opid,
GNOME_Evolution_Addressbook_Success, deleted_ids);
return;
@@ -1358,6 +1360,7 @@ e_book_backend_groupwise_modify_contact
e_book_backend_db_cache_remove_contact (egwb->priv->file_db, id);
e_book_backend_summary_remove_contact (egwb->priv->summary, id);
e_book_backend_db_cache_add_contact (egwb->priv->file_db, contact);
+ egwb->priv->file_db->sync(egwb->priv->file_db, 0);
e_book_backend_summary_add_contact (egwb->priv->summary, contact);
}
else
@@ -2691,6 +2694,8 @@ update_cache (EBookBackendGroupwise *ebg
if (!ebgw)
return FALSE;

+ g_mutex_lock (ebgw->priv->update_cache_mutex);
+
if (enable_debug) {
g_get_current_time(&start);
printf("updating cache for %s\n", ebgw->priv->book_name);
@@ -2729,6 +2734,7 @@ update_cache (EBookBackendGroupwise *ebg
bonobo_object_unref (book_view);
if (enable_debug)
printf("No connection with the server \n");
+ g_mutex_unlock (ebgw->priv->update_cache_mutex);
return FALSE;
}

@@ -2738,6 +2744,7 @@ update_cache (EBookBackendGroupwise *ebg
contact = e_contact_new ();
fill_contact_from_gw_item (contact, E_GW_ITEM (gw_items->data),
ebgw->priv->categories_by_id);
+
e_contact_set (contact, E_CONTACT_BOOK_URI, ebgw->priv->original_uri);
id = e_contact_get_const (contact, E_CONTACT_UID);

@@ -2782,6 +2789,7 @@ update_cache (EBookBackendGroupwise *ebg
printf("updating the cache for %s complated in %ld.%03ld seconds for %d contacts\n",
ebgw->priv->book_name, diff / 1000, diff % 1000, contact_num);
}
+ g_mutex_unlock (ebgw->priv->update_cache_mutex);
return FALSE;
}

@@ -2797,6 +2805,7 @@ update_address_book_deltas (EBookBackend
EContact *contact;
EDataBookView *book_view;
GroupwiseBackendSearchClosure *closure;
+ EGwItem *item;

if (!ebgw)
return FALSE;
@@ -2827,6 +2836,9 @@ update_address_book_deltas (EBookBackend
if (enable_debug)
printf ("sequence is reset, rebuilding cache...\n");
build_cache (ebgw);
+ add_sequence_to_cache (priv->file_db, server_first_sequence,
+ server_last_sequence, server_last_po_rebuild_time);
+ ebgw->priv->file_db->sync (ebgw->priv->file_db, 0);
g_mutex_unlock (priv->update_mutex);
return TRUE;
}
@@ -2844,6 +2856,7 @@ update_address_book_deltas (EBookBackend
add_sequence_to_cache (priv->file_db, server_first_sequence,
server_last_sequence, server_last_po_rebuild_time);
ebgw->priv->file_db->sync (ebgw->priv->file_db, 0);
+ g_mutex_unlock (priv->update_mutex);
return TRUE;
}

@@ -2896,6 +2909,8 @@ update_address_book_deltas (EBookBackend
if (add_list == NULL && delete_list == NULL) {
if (enable_debug)
printf("sequence differs but no changes found !!!\n");
+ add_sequence_to_cache (priv->file_db, server_first_sequence,
+ server_last_sequence, server_last_po_rebuild_time);
g_mutex_unlock (priv->update_mutex);
return TRUE;
}
@@ -2945,6 +2960,20 @@ update_address_book_deltas (EBookBackend
E_GW_ITEM (add_list->data),
ebgw->priv->categories_by_id);

+ /* When a distribution list is modified the server sends me a delete and add response.
+ But it doesnt send me the members, so i have to explicitly request the server for the members of the distribution list */
+
+ if (e_contact_get (contact, E_CONTACT_IS_LIST)) {
+ if(enable_debug)
+ printf ("Contact List modified fetching the members of the contact list\n");
+
+ status = e_gw_connection_get_item (ebgw->priv->cnc, ebgw->priv->container_id, e_contact_get (contact, E_CONTACT_UID), "name email default members", &item);
+ g_object_unref (contact);
+ contact = e_contact_new ();
+ fill_contact_from_gw_item (contact, item, ebgw->priv->categories_by_id);
+ g_object_unref (item);
+ }
+
if (enable_debug)
printf("contact email:%s, contact name:%s\n", (char *)e_contact_get(contact, E_CONTACT_EMAIL_1),(char *) e_contact_get(contact, E_CONTACT_GIVEN_NAME));
e_contact_set (contact,
@@ -2977,7 +3006,6 @@ update_address_book_deltas (EBookBackend
}
cache_last_sequence += contact_num;

-
/* cache is updated, now adding the sequence information to the cache */

add_sequence_to_cache (priv->file_db, server_first_sequence,
@@ -3054,11 +3082,15 @@ e_book_backend_groupwise_authenticate_us
const char *cache_refresh_interval_set;
int cache_refresh_interval = CACHE_REFRESH_INTERVAL;

- if (enable_debug)
- printf ("authenticate user ............\n");
ebgw = E_BOOK_BACKEND_GROUPWISE (backend);
priv = ebgw->priv;

+ if (enable_debug) {
+ printf ("authenticate user ............\n");
+ if(priv->book_name)
+ printf("book_name:%s\n", priv->book_name);
+ }
+

switch (ebgw->priv->mode) {
case GNOME_Evolution_Addressbook_MODE_LOCAL:
@@ -3094,9 +3126,6 @@ e_book_backend_groupwise_authenticate_us

id = NULL;
is_writable = FALSE;
- if (enable_debug)
- if(priv->book_name)
- printf("book_name:%s\n", priv->book_name);
status = e_gw_connection_get_address_book_id (priv->cnc, priv->book_name, &id, &is_writable);
if (status == E_GW_CONNECTION_STATUS_INVALID_CONNECTION)
status = e_gw_connection_get_address_book_id (priv->cnc, priv->book_name, &id, &is_writable);
@@ -3632,6 +3661,8 @@ e_book_backend_groupwise_dispose (GObjec
}
if (bgw->priv->update_mutex)
g_mutex_free (bgw->priv->update_mutex);
+ if (bgw->priv->update_cache_mutex)
+ g_mutex_free (bgw->priv->update_cache_mutex);

g_free (bgw->priv);
bgw->priv = NULL;
@@ -3690,8 +3721,8 @@ e_book_backend_groupwise_init (EBookBack
priv->original_uri = NULL;
priv->cache_timeout = 0;
priv->update_mutex = g_mutex_new();
+ priv->update_cache_mutex = g_mutex_new ();
priv->reserved1 = NULL;
- priv->reserved2 = NULL;
backend->priv = priv;

if (g_getenv ("GROUPWISE_DEBUG")) {

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Remember to have fun...


---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit-unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-commit-help@xxxxxxxxxxxx

< Previous Next >