From 95a025d4468d4841f67f443edb459fd8dec53036 Mon Sep 17 00:00:00 2001 From: Mike Gorse Date: Sat, 19 Jul 2014 15:42:52 -0500 Subject: [PATCH] Unref enum type classes when we're done with them --- atspi/atspi-misc.c | 2 ++ atspi/atspi-stateset.c | 7 +++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/atspi/atspi-misc.c b/atspi/atspi-misc.c index aa2fb66..0492b3f 100644 --- a/atspi/atspi-misc.c +++ b/atspi/atspi-misc.c @@ -1697,6 +1697,8 @@ atspi_role_get_name (AtspiRole role) retval = g_strdup (value->value_nick); } + g_type_class_unref (type_class); + if (retval) return _atspi_name_compat (retval); diff --git a/atspi/atspi-stateset.c b/atspi/atspi-stateset.c index 33c28a7..1f9d993 100644 --- a/atspi/atspi-stateset.c +++ b/atspi/atspi-stateset.c @@ -90,13 +90,14 @@ atspi_state_set_set_by_name (AtspiStateSet *set, const gchar *name, gboolean ena GTypeClass *type_class; GEnumValue *value; - type_class = g_type_class_ref (ATSPI_TYPE_STATE_TYPE); - if (set->accessible && !(set->accessible->cached_properties & ATSPI_CACHE_STATES)) return; + type_class = g_type_class_ref (ATSPI_TYPE_STATE_TYPE); + value = g_enum_get_value_by_nick (G_ENUM_CLASS (type_class), name); + if (!value) { g_warning ("AT-SPI: Attempt to set unknown state '%s'", name); @@ -106,6 +107,8 @@ atspi_state_set_set_by_name (AtspiStateSet *set, const gchar *name, gboolean ena set->states |= ((gint64)1 << value->value); else set->states &= ~((gint64)1 << value->value); + + g_type_class_unref (type_class); } static void -- 2.7.4