summaryrefslogtreecommitdiff
path: root/gtk/gtkcssprovider.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2014-10-04 15:52:02 -0400
committerMatthias Clasen <mclasen@redhat.com>2014-10-04 15:52:02 -0400
commita00842fa9981a9fab90f435f81b71cdea1aa08f4 (patch)
treea1a07cdae4bc167edfda88e1c0f0325ec1854503 /gtk/gtkcssprovider.c
parent40049581bc514bcac5e01ff7709370757e051a10 (diff)
downloadgtk+-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.c25
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);
}