[evolution-mapi] Books do not recognize offline usage before being opened
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-mapi] Books do not recognize offline usage before being opened
- Date: Tue, 16 Aug 2016 15:28:48 +0000 (UTC)
commit 7b3025845f5ea32794101e033b9278cc1ceaf273
Author: Milan Crha <mcrha redhat com>
Date: Tue Aug 16 17:26:54 2016 +0200
Books do not recognize offline usage before being opened
The side-effect of this was that the book content was not shown
after open in the evolution, because the "do-initial-query"
capability wasn't returned.
src/addressbook/e-book-backend-mapi.c | 20 +++++++++++---------
1 files changed, 11 insertions(+), 9 deletions(-)
---
diff --git a/src/addressbook/e-book-backend-mapi.c b/src/addressbook/e-book-backend-mapi.c
index cbed93c..f5f3cc6 100644
--- a/src/addressbook/e-book-backend-mapi.c
+++ b/src/addressbook/e-book-backend-mapi.c
@@ -51,7 +51,6 @@ struct _EBookBackendMAPIPrivate
GRecMutex conn_lock;
EMapiConnection *conn;
gchar *book_uid;
- gboolean marked_for_offline;
GThread *update_cache_thread;
GCancellable *update_cache;
@@ -423,7 +422,7 @@ ebbm_connect_user (EBookBackendMAPI *ebma,
ebbm_notify_connection_status (ebma, TRUE);
- if (!g_cancellable_is_cancelled (cancellable) && priv->marked_for_offline) {
+ if (!g_cancellable_is_cancelled (cancellable) && e_book_backend_mapi_is_marked_for_offline
(ebma)) {
ebbm_maybe_invoke_cache_update (ebma);
}
}
@@ -491,16 +490,12 @@ ebbm_open (EBookBackendMAPI *ebma,
{
EBookBackendMAPIPrivate *priv = ebma->priv;
ESource *source = e_backend_get_source (E_BACKEND (ebma));
- ESourceOffline *offline_extension;
const gchar *cache_dir;
GError *error = NULL;
if (e_book_backend_is_opened (E_BOOK_BACKEND (ebma)))
return;
- offline_extension = e_source_get_extension (source, E_SOURCE_EXTENSION_OFFLINE);
- priv->marked_for_offline = e_source_offline_get_stay_synchronized (offline_extension);
-
if (priv->book_uid)
g_free (priv->book_uid);
priv->book_uid = e_source_dup_uid (source);
@@ -526,7 +521,7 @@ ebbm_open (EBookBackendMAPI *ebma,
/* Either we are in Online mode or this is marked for offline */
if (!e_backend_get_online (E_BACKEND (ebma)) &&
- !priv->marked_for_offline) {
+ !e_book_backend_mapi_is_marked_for_offline (ebma)) {
g_propagate_error (perror, EDB_ERROR (OFFLINE_UNAVAILABLE));
return;
}
@@ -751,7 +746,7 @@ ebbm_book_view_thread (gpointer data)
if (ebmac && ebmac->op_book_view_thread)
ebmac->op_book_view_thread (bvtd->ebma, bvtd->book_view, priv->update_cache, &error);
- if (priv->marked_for_offline) {
+ if (e_book_backend_mapi_is_marked_for_offline (bvtd->ebma)) {
e_book_backend_mapi_update_view_by_cache (bvtd->ebma, bvtd->book_view, &error);
ebbm_maybe_invoke_cache_update (bvtd->ebma);
@@ -1509,10 +1504,17 @@ e_book_backend_mapi_book_view_is_running (EBookBackendMAPI *ebma, EDataBookView
gboolean
e_book_backend_mapi_is_marked_for_offline (EBookBackendMAPI *ebma)
{
+ ESource *source;
+ ESourceOffline *offline_extension;
+
g_return_val_if_fail (E_IS_BOOK_BACKEND_MAPI (ebma), FALSE);
g_return_val_if_fail (ebma->priv != NULL, FALSE);
- return ebma->priv->marked_for_offline;
+ source = e_backend_get_source (E_BACKEND (ebma));
+
+ offline_extension = e_source_get_extension (source, E_SOURCE_EXTENSION_OFFLINE);
+
+ return e_source_offline_get_stay_synchronized (offline_extension);
}
void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]