From: Benjamin Otte Date: Mon, 6 Jul 2015 01:58:56 +0000 (+0200) Subject: csstypes: Change NTH_CHILD and NTH_LAST_CHILD change propagation X-Git-Tag: archive/raspbian/4.4.1+ds1-2+rpi1^2~18^2~24^2~9129 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=df7113812bbccc4ad862e1c931c8ba2c94d91c4a;p=gtk4.git csstypes: Change NTH_CHILD and NTH_LAST_CHILD change propagation For now assume that if those flags change for a node, they also changed for all sibling nodes. This is not strictly true but simplifies invalidation. The reason it simplifies invalidation is that when removing or adding a node, we can just invalidate the first node (for NTH_LAST_CHILD) and the new node (for NTH_CHILD) and all the other nodes will be invalidated automatically. --- diff --git a/gtk/gtkcsstypes.c b/gtk/gtkcsstypes.c index 440f60a7ee..2fa18df9e8 100644 --- a/gtk/gtkcsstypes.c +++ b/gtk/gtkcsstypes.c @@ -56,8 +56,8 @@ _gtk_css_change_for_sibling (GtkCssChange match) { GTK_CSS_CHANGE_NAME, GTK_CSS_CHANGE_SIBLING_NAME }, { GTK_CSS_CHANGE_FIRST_CHILD, GTK_CSS_CHANGE_SIBLING_FIRST_CHILD }, { GTK_CSS_CHANGE_LAST_CHILD, GTK_CSS_CHANGE_SIBLING_LAST_CHILD }, - { GTK_CSS_CHANGE_NTH_CHILD, GTK_CSS_CHANGE_SIBLING_NTH_CHILD }, - { GTK_CSS_CHANGE_NTH_LAST_CHILD, GTK_CSS_CHANGE_SIBLING_NTH_LAST_CHILD }, + { GTK_CSS_CHANGE_NTH_CHILD, GTK_CSS_CHANGE_NTH_CHILD | GTK_CSS_CHANGE_SIBLING_NTH_CHILD }, + { GTK_CSS_CHANGE_NTH_LAST_CHILD, GTK_CSS_CHANGE_NTH_LAST_CHILD | GTK_CSS_CHANGE_SIBLING_NTH_LAST_CHILD }, { GTK_CSS_CHANGE_STATE, GTK_CSS_CHANGE_SIBLING_STATE }, { GTK_CSS_CHANGE_SOURCE, 0 }, { GTK_CSS_CHANGE_PARENT_STYLE, 0 }