Revert "ESourceRegistry: Do not mandate builtin sources."
authorMatthew Barnes <mbarnes@redhat.com>
Sat, 15 Dec 2012 12:42:14 +0000 (07:42 -0500)
committerMatthew Barnes <mbarnes@redhat.com>
Sat, 15 Dec 2012 12:42:14 +0000 (07:42 -0500)
This reverts commit 78340f9274d5c2ee0f52507f935f97d6b92f513e.

This violates a key invariant of the get_default() and especially
get_builtin() functions: that they never return NULL.

addressbook/backends/file/e-book-backend-file.c
addressbook/libebook/e-book-client.c
calendar/backends/file/e-cal-backend-file.c
libedataserver/e-source-registry.c
tests/libebook/client/client-test-utils.c

index 351e288..6fb1483 100644 (file)
@@ -241,7 +241,7 @@ e_book_backend_file_extract_path_from_source (ESourceRegistry *registry,
         * "system-$COMPONENT" but since the data directories are already
         * split out by component, we'll continue to use the old "system"
         * directories for these particular data sources. */
-       if (builtin_source != NULL && e_source_equal (source, builtin_source))
+       if (e_source_equal (source, builtin_source))
                uid = "system";
 
        switch (path_type) {
@@ -257,8 +257,7 @@ e_book_backend_file_extract_path_from_source (ESourceRegistry *registry,
                        g_warn_if_reached ();
        }
 
-       if (builtin_source)
-               g_object_unref (builtin_source);
+       g_object_unref (builtin_source);
 
        return filename;
 }
index 45d04cf..f80bc63 100644 (file)
@@ -1034,7 +1034,6 @@ e_book_client_get_self (ESourceRegistry *registry,
        g_return_val_if_fail (E_IS_BOOK_CLIENT (client), FALSE);
 
        source = e_source_registry_ref_builtin_address_book (registry);
-       g_return_val_if_fail (source != NULL, FALSE);
        *client = e_book_client_new (source, &local_error);
        g_object_unref (source);
 
index cd4ac34..00fa8d0 100644 (file)
@@ -3431,15 +3431,14 @@ cal_backend_file_constructed (GObject *object)
         * "system-$COMPONENT" but since the data directories are already
         * split out by component, we'll continue to use the old "system"
         * directories for these particular data sources. */
-       if (builtin_source != NULL && e_source_equal (source, builtin_source))
+       if (e_source_equal (source, builtin_source))
                uid = "system";
 
        filename = g_build_filename (user_data_dir, component_type, uid, NULL);
        e_cal_backend_set_cache_dir (backend, filename);
        g_free (filename);
 
-       if (builtin_source)
-               g_object_unref (builtin_source);
+       g_object_unref (builtin_source);
 }
 
 /* Class initialization function for the file backend */
index 5d2c553..93ae50b 100644 (file)
@@ -2743,6 +2743,7 @@ e_source_registry_ref_builtin_address_book (ESourceRegistry *registry)
 
        uid = E_SOURCE_BUILTIN_ADDRESS_BOOK_UID;
        source = e_source_registry_ref_source (registry, uid);
+       g_return_val_if_fail (source != NULL, NULL);
 
        return source;
 }
@@ -2776,10 +2777,12 @@ e_source_registry_ref_default_address_book (ESourceRegistry *registry)
        source = e_source_registry_ref_source (registry, uid);
        g_free (uid);
 
-       /* The built-in source is present in normal EDS installations. */
+       /* The built-in source is always present. */
        if (source == NULL)
                source = e_source_registry_ref_builtin_address_book (registry);
 
+       g_return_val_if_fail (E_IS_SOURCE (source), NULL);
+
        return source;
 }
 
@@ -2842,6 +2845,7 @@ e_source_registry_ref_builtin_calendar (ESourceRegistry *registry)
 
        uid = E_SOURCE_BUILTIN_CALENDAR_UID;
        source = e_source_registry_ref_source (registry, uid);
+       g_return_val_if_fail (source != NULL, NULL);
 
        return source;
 }
@@ -2875,10 +2879,12 @@ e_source_registry_ref_default_calendar (ESourceRegistry *registry)
        source = e_source_registry_ref_source (registry, uid);
        g_free (uid);
 
-       /* The built-in source is present in normal EDS installations. */
+       /* The built-in source is always present. */
        if (source == NULL)
                source = e_source_registry_ref_builtin_calendar (registry);
 
+       g_return_val_if_fail (E_IS_SOURCE (source), NULL);
+
        return source;
 }
 
index bb41e82..f9bda66 100644 (file)
@@ -71,7 +71,6 @@ open_system_book (ESourceRegistry *registry,
        main_initialize ();
 
        source = e_source_registry_ref_builtin_address_book (registry);
-       g_return_val_if_fail (source != NULL, NULL);
        book_client = e_book_client_new (source, &error);
        g_object_unref (source);