aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2010-06-17 17:04:14 -0500
committerTed Gould <ted@gould.cx>2010-06-17 17:04:14 -0500
commite589ecaddf4d14e9aeea5aed9f4076b1447cc926 (patch)
tree616907c17f8a3d95a1f97a14531fd0eee6763d24 /src
parentfc6b18bde0af75bff3710306a45fdf907e248c20 (diff)
downloadlibayatana-appindicator-e589ecaddf4d14e9aeea5aed9f4076b1447cc926.tar.gz
libayatana-appindicator-e589ecaddf4d14e9aeea5aed9f4076b1447cc926.tar.bz2
libayatana-appindicator-e589ecaddf4d14e9aeea5aed9f4076b1447cc926.zip
Reworking to make more clear and use the GEnumValue structure correctly.
Diffstat (limited to 'src')
-rw-r--r--src/application-service-appstore.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/application-service-appstore.c b/src/application-service-appstore.c
index 66943b5..c18ebe2 100644
--- a/src/application-service-appstore.c
+++ b/src/application-service-appstore.c
@@ -243,7 +243,13 @@ get_all_properties_cb (DBusGProxy * proxy, GHashTable * properties, GError * err
static AppIndicatorStatus
string_to_status(const gchar * status_string)
{
- return (AppIndicatorStatus) g_enum_get_value_by_nick((GEnumClass *)g_type_class_ref (APP_INDICATOR_TYPE_INDICATOR_STATUS), status_string);
+ GEnumClass * klass = G_ENUM_CLASS(g_type_class_peek_static(APP_INDICATOR_TYPE_INDICATOR_STATUS));
+ g_return_val_if_fail(klass != NULL, APP_INDICATOR_STATUS_PASSIVE);
+
+ GEnumValue * val = g_enum_get_value_by_nick(klass, status_string);
+ g_return_val_if_fail(val != NULL, APP_INDICATOR_STATUS_PASSIVE);
+
+ return (AppIndicatorStatus)val->value;
}
/* A small helper function to get the position of an application