EBookBackend: Fixed ref-counting bug in e_book_backend_set_locale()
authorTristan Van Berkom <tristanvb@openismus.com>
Fri, 29 Nov 2013 18:11:19 +0000 (03:11 +0900)
committerTristan Van Berkom <tristanvb@openismus.com>
Fri, 29 Nov 2013 18:36:30 +0000 (03:36 +0900)
addressbook/libedata-book/e-book-backend.c

index 2e312c5..36d1726 100644 (file)
@@ -3305,17 +3305,19 @@ e_book_backend_set_locale (EBookBackend *backend,
                           GCancellable *cancellable,
                           GError      **error)
 {
+       /* If the backend does not support locales, just happily return */
+       gboolean success = TRUE;
+
        g_return_val_if_fail (E_IS_BOOK_BACKEND (backend), FALSE);
 
        g_object_ref (backend);
 
        if (E_BOOK_BACKEND_GET_CLASS (backend)->set_locale)
-               return (* E_BOOK_BACKEND_GET_CLASS (backend)->set_locale) (backend, locale,
-                                                                          cancellable, error);
+               success = (* E_BOOK_BACKEND_GET_CLASS (backend)->set_locale) (backend, locale,
+                                                                             cancellable, error);
        g_object_unref (backend);
 
-       /* Backend does not support locales, just happily return */
-       return TRUE;
+       return success;
 }
 
 /**