Index: gobject/genums.c
===================================================================
--- gobject/genums.c	(revisão 5545)
+++ gobject/genums.c	(cópia de trabalho)
@@ -21,6 +21,7 @@
  * MT safe
  */
 
+#include        <stdlib.h>
 #include        <string.h>
 
 #include	"genums.h"
@@ -370,6 +371,31 @@ g_enum_get_value (GEnumClass *enum_class
   return NULL;
 }
 
+GEnumValue *
+g_enum_get_value_from_string (GEnumClass  *enum_class,
+			      const gchar *string)
+{
+  GEnumValue *enum_value = NULL;
+  gchar *endptr;
+  gint ret = 0;
+
+  g_return_val_if_fail (G_IS_ENUM_CLASS (enum_class), NULL);
+  g_return_val_if_fail (string != NULL, 0);
+  
+  ret = strtoul (string, &endptr, 0);
+  if (endptr != string) /* parsed a number */
+    enum_value = g_enum_get_value (enum_class, ret);
+
+  if (!enum_value)
+    {
+      enum_value = g_enum_get_value_by_name (enum_class, string);
+      if (!enum_value)
+	enum_value = g_enum_get_value_by_nick (enum_class, string);
+    }
+
+  return enum_value;
+}
+
 GFlagsValue*
 g_flags_get_first_value (GFlagsClass *flags_class,
 			 guint	      value)
Index: gobject/genums.h
===================================================================
--- gobject/genums.h	(revisão 5545)
+++ gobject/genums.h	(cópia de trabalho)
@@ -87,6 +87,8 @@
 						 const gchar	*name);
 GEnumValue*	g_enum_get_value_by_nick	(GEnumClass	*enum_class,
 						 const gchar	*nick);
+GEnumValue *    g_enum_get_value_from_string    (GEnumClass     *enum_class,
+						 const gchar    *string);
 GFlagsValue*	g_flags_get_first_value		(GFlagsClass	*flags_class,
 						 guint		 value);
 GFlagsValue*	g_flags_get_value_by_name	(GFlagsClass	*flags_class,
Index: gobject/gobject.symbols
===================================================================
--- gobject/gobject.symbols	(revisão 5545)
+++ gobject/gobject.symbols	(cópia de trabalho)
@@ -86,6 +86,7 @@
 g_enum_get_value
 g_enum_get_value_by_name
 g_enum_get_value_by_nick
+g_enum_get_value_from_string
 g_enum_register_static
 g_flags_complete_type_info
 g_flags_get_first_value
