diff options
Diffstat (limited to 'gtk/gtkcssselector.c')
-rw-r--r-- | gtk/gtkcssselector.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gtk/gtkcssselector.c b/gtk/gtkcssselector.c index 3bd1e8044b..8c6465985c 100644 --- a/gtk/gtkcssselector.c +++ b/gtk/gtkcssselector.c @@ -748,6 +748,12 @@ DEFINE_SIMPLE_SELECTOR(pseudoclass_backdrop, PSEUDOCLASS_BACKDROP, print_pseudoc FALSE, TRUE, FALSE) #undef GTK_CSS_CHANGE_PSEUDOCLASS_BACKDROP +#define GTK_CSS_CHANGE_PSEUDOCLASS_SELECTED GTK_CSS_CHANGE_SELECTED +DEFINE_SIMPLE_SELECTOR(pseudoclass_selected, PSEUDOCLASS_SELECTED, print_pseudoclass_state, + match_pseudoclass_state, hash_pseudoclass_state, comp_pseudoclass_state, + FALSE, TRUE, FALSE) +#undef GTK_CSS_CHANGE_PSEUDOCLASS_SELECTED + #define GTK_CSS_CHANGE_PSEUDOCLASS_STATE GTK_CSS_CHANGE_STATE DEFINE_SIMPLE_SELECTOR(pseudoclass_state, PSEUDOCLASS_STATE, print_pseudoclass_state, match_pseudoclass_state, hash_pseudoclass_state, comp_pseudoclass_state, @@ -1320,6 +1326,10 @@ gtk_css_selector_parse_selector_pseudo_class (GtkCssParser *parser, selector = gtk_css_selector_new (negate ? >K_CSS_SELECTOR_NOT_PSEUDOCLASS_BACKDROP : >K_CSS_SELECTOR_PSEUDOCLASS_BACKDROP, selector); + else if (pseudo_classes[i].state_flag == GTK_STATE_FLAG_SELECTED) + selector = gtk_css_selector_new (negate ? >K_CSS_SELECTOR_NOT_PSEUDOCLASS_SELECTED + : >K_CSS_SELECTOR_PSEUDOCLASS_SELECTED, + selector); else selector = gtk_css_selector_new (negate ? >K_CSS_SELECTOR_NOT_PSEUDOCLASS_STATE : >K_CSS_SELECTOR_PSEUDOCLASS_STATE, |