diff options
author | Matthias Clasen <mclasen@redhat.com> | 2020-10-26 08:01:13 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2020-10-26 08:01:13 -0400 |
commit | c783e9aa5fe0dbb09c25eb4151136649073e09a4 (patch) | |
tree | e904bfbffaca77693c2785ea5efea88982644f53 /gtk/gtkaccessiblevalue.c | |
parent | 0fddf73ddb7cf2788cd6710cfce1ede91ed5c746 (diff) | |
download | gtk+-matthiasc/a11y-buildable.tar.gz |
Treat tristate as an enum when parsingmatthiasc/a11y-buildable
This makes it so that you have to explicitly specify
"true" and "false" for the checked state, but it
matches how this enumeration is meant to be used.
Diffstat (limited to 'gtk/gtkaccessiblevalue.c')
-rw-r--r-- | gtk/gtkaccessiblevalue.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/gtk/gtkaccessiblevalue.c b/gtk/gtkaccessiblevalue.c index c7ac423bd0..c459067812 100644 --- a/gtk/gtkaccessiblevalue.c +++ b/gtk/gtkaccessiblevalue.c @@ -47,6 +47,7 @@ #include "gtkaccessible.h" #include "gtkbuilderprivate.h" #include "gtkenums.h" +#include "gtktypebuiltins.h" #include <math.h> #include <float.h> @@ -1356,14 +1357,12 @@ gtk_accessible_value_parse (const GtkAccessibleCollect *cstate, case GTK_ACCESSIBLE_COLLECT_TRISTATE: { - gboolean b; + int value; if (collects_undef && strncmp (str, "undefined", 9) == 0) res = gtk_undefined_accessible_value_new (); - else if (strncmp (str, "mixed", 5) == 0) - res = gtk_tristate_accessible_value_new (GTK_ACCESSIBLE_TRISTATE_MIXED); - else if (_gtk_builder_boolean_from_string (str, &b, error)) - res = gtk_boolean_accessible_value_new (b); + else if (_gtk_builder_enum_from_string (GTK_TYPE_ACCESSIBLE_TRISTATE, str, &value, error)) + res = gtk_boolean_accessible_value_new (value); } break; |