summaryrefslogtreecommitdiff
path: root/addressbook/libedata-book/e-book-backend.c
diff options
context:
space:
mode:
Diffstat (limited to 'addressbook/libedata-book/e-book-backend.c')
-rw-r--r--addressbook/libedata-book/e-book-backend.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/addressbook/libedata-book/e-book-backend.c b/addressbook/libedata-book/e-book-backend.c
index 217a5428f..3db105ac3 100644
--- a/addressbook/libedata-book/e-book-backend.c
+++ b/addressbook/libedata-book/e-book-backend.c
@@ -3047,19 +3047,25 @@ e_book_backend_is_readonly (EBookBackend *backend)
* Tries to create an #EDataBookDirect for @backend if
* backend supports direct read access.
*
- * Returns: (transfer full): A new #EDataBookDirect object, or %NULL if @backend does not support direct access
+ * Returns: (transfer full): A new #EDataBookDirect object, or %NULL if
+ * @backend does not support direct access
*
* Since: 3.8
*/
EDataBookDirect *
e_book_backend_get_direct_book (EBookBackend *backend)
{
+ EBookBackendClass *class;
+ EDataBookDirect *direct_book = NULL;
+
g_return_val_if_fail (E_IS_BOOK_BACKEND (backend), NULL);
- if (E_BOOK_BACKEND_GET_CLASS (backend)->get_direct_book)
- return E_BOOK_BACKEND_GET_CLASS (backend)->get_direct_book (backend);
+ class = E_BOOK_BACKEND_GET_CLASS (backend);
+
+ if (class->get_direct_book != NULL)
+ direct_book = class->get_direct_book (backend);
- return NULL;
+ return direct_book;
}
/**