[gtk+] cssprovider: return immediately if there's remaining data behind a parsed value



commit 794593a4f8208c8c52363e4bdf7103f5f215a9fc
Author: Carlos Garnacho <carlosg gnome org>
Date:   Mon Mar 7 22:42:33 2011 +0100

    cssprovider: return immediately if there's remaining data behind a parsed value
    
    parse_value() could fill in a GError, but yet (incorrectly) return G_TOKEN_NONE,
    having the GError leaked as a result.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=642604 , Reported by Felix Riemann.

 gtk/gtkcssprovider.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c
index a0be44a..be6fbd7 100644
--- a/gtk/gtkcssprovider.c
+++ b/gtk/gtkcssprovider.c
@@ -3087,12 +3087,16 @@ css_provider_parse_value (GtkCssProvider  *css_provider,
       parsed = FALSE;
     }
 
+  if (end)
+    SKIP_SPACES (end);
+
   if (end && *end)
     {
       /* Set error position in the scanner
        * according to what we've parsed so far
        */
       priv->value_pos += (end - value_str);
+      parsed = FALSE;
 
       if (error && !*error)
         g_set_error_literal (error,



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]