cssprovider: Do error handling differently

Instead of aborting a parse whenever we encounter an error, parse to the
end. But if a GError was passed in, reset the provider completely as if
nothing had been parsed.
This commit is contained in:
Benjamin Otte 2011-04-11 02:18:21 +02:00
parent 992ee6a203
commit 8fb6fdd3e7

View File

@ -2622,27 +2622,6 @@ parse_stylesheet (GtkCssProvider *css_provider,
if (expected_token != G_TOKEN_NONE)
{
/* If a GError was passed in, propagate the error and bail out,
* else report a warning and keep going
*/
if (error != NULL)
{
result = FALSE;
if (priv->error)
g_propagate_error (error, priv->error);
else
g_set_error_literal (error,
GTK_CSS_PROVIDER_ERROR,
GTK_CSS_PROVIDER_ERROR_FAILED,
"Error parsing stylesheet");
break;
}
else
{
g_clear_error (&priv->error);
priv->error = NULL;
}
css_provider_reset_parser (css_provider);
while (!g_scanner_eof (scanner) &&