cssnode: Propagate NTH_LAST_CHILD changes properly

We were just catching the previous sibling before. Now we properly
invalidate all previous siblings (and also all other wiblings, but we
can think about optimizing that later).
This commit is contained in:
Benjamin Otte
2015-11-09 01:42:41 +01:00
parent 4141a7d7c8
commit 0e75fbf39c

View File

@ -1005,8 +1005,11 @@ gtk_css_node_set_visible (GtkCssNode *cssnode,
| (cssnode->previous_sibling ? 0 : GTK_CSS_CHANGE_FIRST_CHILD));
if (cssnode->previous_sibling)
gtk_css_node_invalidate (cssnode->previous_sibling, GTK_CSS_CHANGE_NTH_LAST_CHILD
| (cssnode->next_sibling ? 0 : GTK_CSS_CHANGE_LAST_CHILD));
{
if (cssnode->next_sibling)
gtk_css_node_invalidate (cssnode->previous_sibling, GTK_CSS_CHANGE_LAST_CHILD);
gtk_css_node_invalidate (cssnode->parent->first_child, GTK_CSS_CHANGE_NTH_LAST_CHILD);
}
}
gboolean