From f64bc157bc57bf6148201ebd3d0e956dc83987bb Mon Sep 17 00:00:00 2001 From: Brandon Lewis Date: Thu, 8 Jul 2010 15:54:27 +0200 Subject: [PATCH] use gtype to get the enum value for the nick --- ges/ges-timeline-transition.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/ges/ges-timeline-transition.c b/ges/ges-timeline-transition.c index b63e59f..fb57264 100644 --- a/ges/ges-timeline-transition.c +++ b/ges/ges-timeline-transition.c @@ -200,11 +200,19 @@ GESTimelineTransition * ges_timeline_transition_new_for_nick (gchar * nick) { GEnumValue *value; + GEnumClass *klass; + GESTimelineTransition *ret = NULL; - for (value = &transition_types[0]; value->value_name; value++) - if (!strcmp (nick, value->value_nick)) - return g_object_new (GES_TYPE_TIMELINE_TRANSITION, "vtype", - (gint) value->value, NULL); + klass = G_ENUM_CLASS (g_type_class_ref (GES_VIDEO_TRANSITION_TYPE_TYPE)); + if (!klass) + return NULL; + + value = g_enum_get_value_by_nick (klass, nick); + if (value) { + ret = g_object_new (GES_TYPE_TIMELINE_TRANSITION, "vtype", + (gint) value->value, NULL); + } - return NULL; + g_type_class_unref (klass); + return ret; } -- 2.7.4