css: Fix the ANY matcher state list
authorMatthias Clasen <mclasen@redhat.com>
Wed, 15 Jan 2020 22:34:03 +0000 (17:34 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 17 Jan 2020 00:09:19 +0000 (19:09 -0500)
The ANY and matcher was not, in fact, matching any state,
since the list of states was not up-to-date.

The same fix applies to the superset matcher as well.

gtk/gtkcssmatcher.c

index fb80c3ef807648837b896cc292b8c7f8a6fd61bd..0b2c5442df014fc4683092c510dc80e607535899 100644 (file)
@@ -383,10 +383,20 @@ gtk_css_matcher_any_get_state (const GtkCssMatcher *matcher)
 {
   /* XXX: This gets tricky when we implement :not() */
 
-  return GTK_STATE_FLAG_ACTIVE | GTK_STATE_FLAG_PRELIGHT | GTK_STATE_FLAG_SELECTED
-    | GTK_STATE_FLAG_INSENSITIVE | GTK_STATE_FLAG_INCONSISTENT
-    | GTK_STATE_FLAG_FOCUSED | GTK_STATE_FLAG_BACKDROP | GTK_STATE_FLAG_LINK
-    | GTK_STATE_FLAG_VISITED;
+  return GTK_STATE_FLAG_ACTIVE |
+         GTK_STATE_FLAG_PRELIGHT |
+         GTK_STATE_FLAG_SELECTED |
+         GTK_STATE_FLAG_INSENSITIVE |
+         GTK_STATE_FLAG_INCONSISTENT |
+         GTK_STATE_FLAG_FOCUSED |
+         GTK_STATE_FLAG_BACKDROP |
+         GTK_STATE_FLAG_DIR_LTR |
+         GTK_STATE_FLAG_DIR_RTL |
+         GTK_STATE_FLAG_LINK |
+         GTK_STATE_FLAG_VISITED |
+         GTK_STATE_FLAG_CHECKED |
+         GTK_STATE_FLAG_DROP_ACTIVE |
+         GTK_STATE_FLAG_FOCUS_VISIBLE;
 }
 
 static gboolean
@@ -464,10 +474,20 @@ gtk_css_matcher_superset_get_state (const GtkCssMatcher *matcher)
   if (matcher->superset.relevant & GTK_CSS_CHANGE_STATE)
     return _gtk_css_matcher_get_state (matcher->superset.subset);
   else
-    return GTK_STATE_FLAG_ACTIVE | GTK_STATE_FLAG_PRELIGHT | GTK_STATE_FLAG_SELECTED
-      | GTK_STATE_FLAG_INSENSITIVE | GTK_STATE_FLAG_INCONSISTENT
-      | GTK_STATE_FLAG_FOCUSED | GTK_STATE_FLAG_BACKDROP | GTK_STATE_FLAG_LINK
-      | GTK_STATE_FLAG_VISITED;
+    return GTK_STATE_FLAG_ACTIVE |
+           GTK_STATE_FLAG_PRELIGHT |
+           GTK_STATE_FLAG_SELECTED |
+           GTK_STATE_FLAG_INSENSITIVE |
+           GTK_STATE_FLAG_INCONSISTENT |
+           GTK_STATE_FLAG_FOCUSED |
+           GTK_STATE_FLAG_BACKDROP |
+           GTK_STATE_FLAG_DIR_LTR |
+           GTK_STATE_FLAG_DIR_RTL |
+           GTK_STATE_FLAG_LINK |
+           GTK_STATE_FLAG_VISITED |
+           GTK_STATE_FLAG_CHECKED |
+           GTK_STATE_FLAG_DROP_ACTIVE |
+           GTK_STATE_FLAG_FOCUS_VISIBLE;
 }
 
 static gboolean