[gtk+] cssnode: Propagate NTH_LAST_CHILD changes properly
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] cssnode: Propagate NTH_LAST_CHILD changes properly
- Date: Mon, 9 Nov 2015 00:49:52 +0000 (UTC)
commit 0e75fbf39cf8b526995d3dd5514861aa786386a6
Author: Benjamin Otte <otte redhat com>
Date: Mon Nov 9 01:42:41 2015 +0100
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).
gtk/gtkcssnode.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
---
diff --git a/gtk/gtkcssnode.c b/gtk/gtkcssnode.c
index 7a06d6a..aa278eb 100644
--- a/gtk/gtkcssnode.c
+++ b/gtk/gtkcssnode.c
@@ -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
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]