diff options
author | Matthias Clasen <mclasen@redhat.com> | 2014-10-04 15:52:02 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2014-10-04 15:52:02 -0400 |
commit | a00842fa9981a9fab90f435f81b71cdea1aa08f4 (patch) | |
tree | a1a07cdae4bc167edfda88e1c0f0325ec1854503 /gtk/gtkcssprovider.c | |
parent | 40049581bc514bcac5e01ff7709370757e051a10 (diff) | |
download | gtk+-a00842fa9981a9fab90f435f81b71cdea1aa08f4.tar.gz |
Add a function to load css from a resource
This is common enough that we should just provide an API for it
- we already had a function for this purpose anyway.
https://bugzilla.gnome.org/show_bug.cgi?id=672946
Diffstat (limited to 'gtk/gtkcssprovider.c')
-rw-r--r-- | gtk/gtkcssprovider.c | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c index 8d6b216d19..62fde1cb42 100644 --- a/gtk/gtkcssprovider.c +++ b/gtk/gtkcssprovider.c @@ -2883,12 +2883,26 @@ gtk_css_provider_load_from_path (GtkCssProvider *css_provider, return result; } -static void -gtk_css_provider_load_from_resource (GtkCssProvider *css_provider, - const gchar *resource_path) +/** + * gtk_css_provider_load_from_resource: + * @css_provider: a #GtkCssProvider + * @resource_path: a #GResource resource path + * + * Loads the data contained in the resource at @resource_path into + * the #GtkCssProvider, clearing any previously loaded information. + * + * If there is an error locating the resource or parsing the CSS, + * then the program will be aborted. + * + * Since: 3.16 + */ +void +gtk_css_provider_load_from_resource (GtkCssProvider *css_provider, + const gchar *resource_path) { GFile *file; - char *uri, *escaped; + gchar *uri, *escaped; + GError *error; g_return_if_fail (GTK_IS_CSS_PROVIDER (css_provider)); g_return_if_fail (resource_path != NULL); @@ -2901,7 +2915,8 @@ gtk_css_provider_load_from_resource (GtkCssProvider *css_provider, file = g_file_new_for_uri (uri); g_free (uri); - gtk_css_provider_load_from_file (css_provider, file, NULL); + if (!gtk_css_provider_load_from_file (css_provider, file, &error)) + g_error ("Failed to load CSS: %s", error->message); g_object_unref (file); } |