]> Pileus Git - ~andy/gtk/commitdiff
css: Fix up position with region tree matching
authorAlexander Larsson <alexl@redhat.com>
Thu, 29 Nov 2012 13:25:53 +0000 (14:25 +0100)
committerAlexander Larsson <alexl@redhat.com>
Fri, 30 Nov 2012 13:53:30 +0000 (14:53 +0100)
This was using the wrong result in case of a match (results from
the position, not the region. Also, the descendant checks were
wrong.

gtk/gtkcssselector.c

index 6d767b2c0a6c8fc0d310f028d9469447b974075b..0beb87f3c1adfb55458fd1c1500faccd62bea05e 100644 (file)
@@ -993,14 +993,13 @@ gtk_css_selector_pseudoclass_position_tree_match_for_region (const GtkCssSelecto
   if (!_gtk_css_matcher_has_region (matcher, prev->selector.data, selector_flags))
     return;
 
-  gtk_css_selector_tree_found_match (tree, res);
+  gtk_css_selector_tree_found_match (prev, res);
 
   for (prev2 = prev->previous; prev2 != NULL; prev2 = prev2->siblings)
     {
       if (prev2->selector.class == &GTK_CSS_SELECTOR_DESCENDANT)
        gtk_css_selector_tree_match (prev2->previous, matcher, res);
-      else
-       gtk_css_selector_tree_match (prev2, matcher, res);
+      gtk_css_selector_tree_match (prev2, matcher, res);
     }
 }