cssprovider: Return void, not TRUE
Parsing a css file always succeeds as CSS can recover from parsing errors.
This commit is contained in:
@@ -150,7 +150,7 @@ static void gtk_css_style_provider_emit_error (GtkStyleProviderPrivate *provider
|
|||||||
GtkCssSection *section,
|
GtkCssSection *section,
|
||||||
const GError *error);
|
const GError *error);
|
||||||
|
|
||||||
static gboolean
|
static void
|
||||||
gtk_css_provider_load_internal (GtkCssProvider *css_provider,
|
gtk_css_provider_load_internal (GtkCssProvider *css_provider,
|
||||||
GtkCssScanner *scanner,
|
GtkCssScanner *scanner,
|
||||||
GFile *file,
|
GFile *file,
|
||||||
@@ -966,37 +966,6 @@ gtk_css_provider_reset (GtkCssProvider *css_provider)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
gtk_css_provider_propagate_error (GtkCssProvider *provider,
|
|
||||||
GtkCssSection *section,
|
|
||||||
const GError *error,
|
|
||||||
GError **propagate_to)
|
|
||||||
{
|
|
||||||
|
|
||||||
char *s;
|
|
||||||
|
|
||||||
/* don't fail for deprecations */
|
|
||||||
if (g_error_matches (error, GTK_CSS_PROVIDER_ERROR, GTK_CSS_PROVIDER_ERROR_DEPRECATED))
|
|
||||||
{
|
|
||||||
s = _gtk_css_section_to_string (section);
|
|
||||||
g_warning ("Theme parsing error: %s: %s", s, error->message);
|
|
||||||
g_free (s);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* we already set an error. And we'd like to keep the first one */
|
|
||||||
if (*propagate_to)
|
|
||||||
return;
|
|
||||||
|
|
||||||
*propagate_to = g_error_copy (error);
|
|
||||||
if (section)
|
|
||||||
{
|
|
||||||
s = _gtk_css_section_to_string (section);
|
|
||||||
g_prefix_error (propagate_to, "%s", s);
|
|
||||||
g_free (s);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
parse_import (GtkCssScanner *scanner)
|
parse_import (GtkCssScanner *scanner)
|
||||||
{
|
{
|
||||||
@@ -1713,7 +1682,7 @@ gtk_css_provider_postprocess (GtkCssProvider *css_provider)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static void
|
||||||
gtk_css_provider_load_internal (GtkCssProvider *css_provider,
|
gtk_css_provider_load_internal (GtkCssProvider *css_provider,
|
||||||
GtkCssScanner *parent,
|
GtkCssScanner *parent,
|
||||||
GFile *file,
|
GFile *file,
|
||||||
@@ -1780,8 +1749,6 @@ gtk_css_provider_load_internal (GtkCssProvider *css_provider,
|
|||||||
}
|
}
|
||||||
|
|
||||||
g_free (free_data);
|
g_free (free_data);
|
||||||
|
|
||||||
return TRUE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1794,22 +1761,16 @@ gtk_css_provider_load_internal (GtkCssProvider *css_provider,
|
|||||||
*
|
*
|
||||||
* Loads @data into @css_provider, and by doing so clears any previously loaded
|
* Loads @data into @css_provider, and by doing so clears any previously loaded
|
||||||
* information.
|
* information.
|
||||||
*
|
|
||||||
* Returns: %TRUE. The return value is deprecated and %FALSE will only be
|
|
||||||
* returned for backwards compatibility reasons if an @error is not
|
|
||||||
* %NULL and a loading error occurred. To track errors while loading
|
|
||||||
* CSS, connect to the #GtkCssProvider::parsing-error signal.
|
|
||||||
**/
|
**/
|
||||||
gboolean
|
void
|
||||||
gtk_css_provider_load_from_data (GtkCssProvider *css_provider,
|
gtk_css_provider_load_from_data (GtkCssProvider *css_provider,
|
||||||
const gchar *data,
|
const gchar *data,
|
||||||
gssize length)
|
gssize length)
|
||||||
{
|
{
|
||||||
char *free_data;
|
char *free_data;
|
||||||
gboolean ret;
|
|
||||||
|
|
||||||
g_return_val_if_fail (GTK_IS_CSS_PROVIDER (css_provider), FALSE);
|
g_return_if_fail (GTK_IS_CSS_PROVIDER (css_provider));
|
||||||
g_return_val_if_fail (data != NULL, FALSE);
|
g_return_if_fail (data != NULL);
|
||||||
|
|
||||||
if (length < 0)
|
if (length < 0)
|
||||||
{
|
{
|
||||||
@@ -1824,13 +1785,11 @@ gtk_css_provider_load_from_data (GtkCssProvider *css_provider,
|
|||||||
|
|
||||||
gtk_css_provider_reset (css_provider);
|
gtk_css_provider_reset (css_provider);
|
||||||
|
|
||||||
ret = gtk_css_provider_load_internal (css_provider, NULL, NULL, data);
|
gtk_css_provider_load_internal (css_provider, NULL, NULL, data);
|
||||||
|
|
||||||
g_free (free_data);
|
g_free (free_data);
|
||||||
|
|
||||||
_gtk_style_provider_private_changed (GTK_STYLE_PROVIDER_PRIVATE (css_provider));
|
_gtk_style_provider_private_changed (GTK_STYLE_PROVIDER_PRIVATE (css_provider));
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1840,61 +1799,43 @@ gtk_css_provider_load_from_data (GtkCssProvider *css_provider,
|
|||||||
*
|
*
|
||||||
* Loads the data contained in @file into @css_provider, making it
|
* Loads the data contained in @file into @css_provider, making it
|
||||||
* clear any previously loaded information.
|
* clear any previously loaded information.
|
||||||
*
|
|
||||||
* Returns: %TRUE. The return value is deprecated and %FALSE will only be
|
|
||||||
* returned for backwards compatibility reasons if an @error is not
|
|
||||||
* %NULL and a loading error occurred. To track errors while loading
|
|
||||||
* CSS, connect to the #GtkCssProvider::parsing-error signal.
|
|
||||||
**/
|
**/
|
||||||
gboolean
|
void
|
||||||
gtk_css_provider_load_from_file (GtkCssProvider *css_provider,
|
gtk_css_provider_load_from_file (GtkCssProvider *css_provider,
|
||||||
GFile *file)
|
GFile *file)
|
||||||
{
|
{
|
||||||
gboolean success;
|
g_return_if_fail (GTK_IS_CSS_PROVIDER (css_provider));
|
||||||
|
g_return_if_fail (G_IS_FILE (file));
|
||||||
g_return_val_if_fail (GTK_IS_CSS_PROVIDER (css_provider), FALSE);
|
|
||||||
g_return_val_if_fail (G_IS_FILE (file), FALSE);
|
|
||||||
|
|
||||||
gtk_css_provider_reset (css_provider);
|
gtk_css_provider_reset (css_provider);
|
||||||
|
|
||||||
success = gtk_css_provider_load_internal (css_provider, NULL, file, NULL);
|
gtk_css_provider_load_internal (css_provider, NULL, file, NULL);
|
||||||
|
|
||||||
_gtk_style_provider_private_changed (GTK_STYLE_PROVIDER_PRIVATE (css_provider));
|
_gtk_style_provider_private_changed (GTK_STYLE_PROVIDER_PRIVATE (css_provider));
|
||||||
|
|
||||||
return success;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gtk_css_provider_load_from_path:
|
* gtk_css_provider_load_from_path:
|
||||||
* @css_provider: a #GtkCssProvider
|
* @css_provider: a #GtkCssProvider
|
||||||
* @path: the path of a filename to load, in the GLib filename encoding
|
* @path: the path of a filename to load, in the GLib filename encoding
|
||||||
* @error: (out) (allow-none): return location for a #GError, or %NULL
|
|
||||||
*
|
*
|
||||||
* Loads the data contained in @path into @css_provider, making it clear
|
* Loads the data contained in @path into @css_provider, making it clear
|
||||||
* any previously loaded information.
|
* any previously loaded information.
|
||||||
*
|
|
||||||
* Returns: %TRUE. The return value is deprecated and %FALSE will only be
|
|
||||||
* returned for backwards compatibility reasons if an @error is not
|
|
||||||
* %NULL and a loading error occurred. To track errors while loading
|
|
||||||
* CSS, connect to the #GtkCssProvider::parsing-error signal.
|
|
||||||
**/
|
**/
|
||||||
gboolean
|
void
|
||||||
gtk_css_provider_load_from_path (GtkCssProvider *css_provider,
|
gtk_css_provider_load_from_path (GtkCssProvider *css_provider,
|
||||||
const gchar *path)
|
const gchar *path)
|
||||||
{
|
{
|
||||||
GFile *file;
|
GFile *file;
|
||||||
gboolean result;
|
|
||||||
|
|
||||||
g_return_val_if_fail (GTK_IS_CSS_PROVIDER (css_provider), FALSE);
|
g_return_if_fail (GTK_IS_CSS_PROVIDER (css_provider));
|
||||||
g_return_val_if_fail (path != NULL, FALSE);
|
g_return_if_fail (path != NULL);
|
||||||
|
|
||||||
file = g_file_new_for_path (path);
|
file = g_file_new_for_path (path);
|
||||||
|
|
||||||
result = gtk_css_provider_load_from_file (css_provider, file);
|
gtk_css_provider_load_from_file (css_provider, file);
|
||||||
|
|
||||||
g_object_unref (file);
|
g_object_unref (file);
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -95,14 +95,14 @@ GDK_AVAILABLE_IN_3_2
|
|||||||
char * gtk_css_provider_to_string (GtkCssProvider *provider);
|
char * gtk_css_provider_to_string (GtkCssProvider *provider);
|
||||||
|
|
||||||
GDK_AVAILABLE_IN_ALL
|
GDK_AVAILABLE_IN_ALL
|
||||||
gboolean gtk_css_provider_load_from_data (GtkCssProvider *css_provider,
|
void gtk_css_provider_load_from_data (GtkCssProvider *css_provider,
|
||||||
const gchar *data,
|
const gchar *data,
|
||||||
gssize length);
|
gssize length);
|
||||||
GDK_AVAILABLE_IN_ALL
|
GDK_AVAILABLE_IN_ALL
|
||||||
gboolean gtk_css_provider_load_from_file (GtkCssProvider *css_provider,
|
void gtk_css_provider_load_from_file (GtkCssProvider *css_provider,
|
||||||
GFile *file);
|
GFile *file);
|
||||||
GDK_AVAILABLE_IN_ALL
|
GDK_AVAILABLE_IN_ALL
|
||||||
gboolean gtk_css_provider_load_from_path (GtkCssProvider *css_provider,
|
void gtk_css_provider_load_from_path (GtkCssProvider *css_provider,
|
||||||
const gchar *path);
|
const gchar *path);
|
||||||
|
|
||||||
GDK_AVAILABLE_IN_3_16
|
GDK_AVAILABLE_IN_3_16
|
||||||
|
|||||||
@@ -220,10 +220,7 @@ set_styles (void)
|
|||||||
|
|
||||||
provider = gtk_css_provider_new ();
|
provider = gtk_css_provider_new ();
|
||||||
|
|
||||||
if (!gtk_css_provider_load_from_data (provider, CSS, -1))
|
gtk_css_provider_load_from_data (provider, CSS, -1);
|
||||||
{
|
|
||||||
g_assert_not_reached ();
|
|
||||||
}
|
|
||||||
|
|
||||||
screen = gdk_display_get_default_screen (gdk_display_get_default ());
|
screen = gdk_display_get_default_screen (gdk_display_get_default ());
|
||||||
|
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ gtk_css_provider_load_data_not_null_terminated (void)
|
|||||||
|
|
||||||
p = gtk_css_provider_new();
|
p = gtk_css_provider_new();
|
||||||
|
|
||||||
gtk_css_provider_load_from_data(p, data, sizeof (data), NULL);
|
gtk_css_provider_load_from_data(p, data, sizeof (data));
|
||||||
|
|
||||||
g_object_unref (p);
|
g_object_unref (p);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -174,7 +174,7 @@ parse_css_file (GFile *file, gboolean generate)
|
|||||||
"parsing-error",
|
"parsing-error",
|
||||||
G_CALLBACK (parsing_error_cb),
|
G_CALLBACK (parsing_error_cb),
|
||||||
errors);
|
errors);
|
||||||
gtk_css_provider_load_from_path (provider, css_file, NULL);
|
gtk_css_provider_load_from_path (provider, css_file);
|
||||||
|
|
||||||
css = gtk_css_provider_to_string (provider);
|
css = gtk_css_provider_to_string (provider);
|
||||||
|
|
||||||
|
|||||||
@@ -111,8 +111,7 @@ load_ui_file (GFile *file, gboolean generate)
|
|||||||
g_assert (css_file != NULL);
|
g_assert (css_file != NULL);
|
||||||
|
|
||||||
provider = gtk_css_provider_new ();
|
provider = gtk_css_provider_new ();
|
||||||
gtk_css_provider_load_from_path (provider, css_file, &error);
|
gtk_css_provider_load_from_path (provider, css_file);
|
||||||
g_assert_no_error (error);
|
|
||||||
gtk_style_context_add_provider_for_screen (gdk_screen_get_default (),
|
gtk_style_context_add_provider_for_screen (gdk_screen_get_default (),
|
||||||
GTK_STYLE_PROVIDER (provider),
|
GTK_STYLE_PROVIDER (provider),
|
||||||
GTK_STYLE_PROVIDER_PRIORITY_FORCE);
|
GTK_STYLE_PROVIDER_PRIORITY_FORCE);
|
||||||
|
|||||||
@@ -11,7 +11,6 @@ static void
|
|||||||
test_parse_selectors (void)
|
test_parse_selectors (void)
|
||||||
{
|
{
|
||||||
GtkCssProvider *provider;
|
GtkCssProvider *provider;
|
||||||
gboolean res;
|
|
||||||
gint i;
|
gint i;
|
||||||
const gchar *valid[] = {
|
const gchar *valid[] = {
|
||||||
"* {}",
|
"* {}",
|
||||||
@@ -60,8 +59,7 @@ test_parse_selectors (void)
|
|||||||
for (i = 0; valid[i]; i++)
|
for (i = 0; valid[i]; i++)
|
||||||
{
|
{
|
||||||
provider = gtk_css_provider_new ();
|
provider = gtk_css_provider_new ();
|
||||||
res = gtk_css_provider_load_from_data (provider, valid[i], -1);
|
gtk_css_provider_load_from_data (provider, valid[i], -1);
|
||||||
g_assert (res);
|
|
||||||
|
|
||||||
g_object_unref (provider);
|
g_object_unref (provider);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -219,8 +219,7 @@ add_extra_css (const char *testname,
|
|||||||
|
|
||||||
provider = GTK_STYLE_PROVIDER (gtk_css_provider_new ());
|
provider = GTK_STYLE_PROVIDER (gtk_css_provider_new ());
|
||||||
gtk_css_provider_load_from_path (GTK_CSS_PROVIDER (provider),
|
gtk_css_provider_load_from_path (GTK_CSS_PROVIDER (provider),
|
||||||
css_file,
|
css_file);
|
||||||
NULL);
|
|
||||||
gtk_style_context_add_provider_for_screen (gdk_screen_get_default (),
|
gtk_style_context_add_provider_for_screen (gdk_screen_get_default (),
|
||||||
provider,
|
provider,
|
||||||
GTK_STYLE_PROVIDER_PRIORITY_FORCE);
|
GTK_STYLE_PROVIDER_PRIORITY_FORCE);
|
||||||
|
|||||||
Reference in New Issue
Block a user