[evolution-data-server] Bug 736655 (bnc) - Deadlocks when auto-completing address in email composer
- From: Chenthill Palanisamy <pchen src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-data-server] Bug 736655 (bnc) - Deadlocks when auto-completing address in email composer
- Date: Mon, 19 Mar 2012 05:02:19 +0000 (UTC)
commit 4c58e189aa71d87021c3294f7757e1b2d540cd33
Author: Chenthill Palanisamy <pchenthill novell com>
Date: Thu Feb 23 14:06:08 2012 +0530
Bug 736655 (bnc) - Deadlocks when auto-completing address in email composer
addressbook/libedata-book/e-book-backend.c | 5 ++---
addressbook/libedata-book/e-data-book-view.c | 2 +-
2 files changed, 3 insertions(+), 4 deletions(-)
---
diff --git a/addressbook/libedata-book/e-book-backend.c b/addressbook/libedata-book/e-book-backend.c
index 8e50bb5..4787c6f 100644
--- a/addressbook/libedata-book/e-book-backend.c
+++ b/addressbook/libedata-book/e-book-backend.c
@@ -712,6 +712,7 @@ e_book_backend_add_book_view (EBookBackend *backend,
g_mutex_lock (backend->priv->views_mutex);
+ e_data_book_view_ref (view);
backend->priv->views = g_slist_append (backend->priv->views, view);
g_mutex_unlock (backend->priv->views_mutex);
@@ -733,6 +734,7 @@ e_book_backend_remove_book_view (EBookBackend *backend,
g_mutex_lock (backend->priv->views_mutex);
backend->priv->views = g_slist_remove (backend->priv->views, view);
+ e_data_book_view_unref (view);
g_mutex_unlock (backend->priv->views_mutex);
}
@@ -824,10 +826,7 @@ e_book_backend_foreach_view (EBookBackend *backend,
for (views = backend->priv->views; views && !stop; views = views->next) {
view = E_DATA_BOOK_VIEW (views->data);
-
- e_data_book_view_ref (view);
stop = !callback (view, user_data);
- e_data_book_view_unref (view);
}
g_mutex_unlock (backend->priv->views_mutex);
diff --git a/addressbook/libedata-book/e-data-book-view.c b/addressbook/libedata-book/e-data-book-view.c
index ccbdb94..900015a 100644
--- a/addressbook/libedata-book/e-data-book-view.c
+++ b/addressbook/libedata-book/e-data-book-view.c
@@ -715,6 +715,7 @@ impl_DataBookView_dispose (EGdbusBookView *object,
e_book_backend_stop_book_view (book_view->priv->backend, book_view);
book_view->priv->running = FALSE;
+ e_book_backend_remove_book_view (book_view->priv->backend, book_view);
g_object_unref (book_view);
@@ -780,7 +781,6 @@ e_data_book_view_dispose (GObject *object)
}
if (priv->backend) {
- e_book_backend_remove_book_view (priv->backend, book_view);
g_object_unref (priv->backend);
priv->backend = NULL;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]