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 | |
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.
-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; |