[pygobject/gsoc2009: 149/160] Make enum values marshaller return values of the enum type



commit ce377aec11390ac4d4f52f7b4da74161db417675
Author: Simon van der Linden <svdlinden src gnome org>
Date:   Thu Aug 13 00:00:21 2009 +0200

    Make enum values marshaller return values of the enum type

 gi/pygi-argument.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)
---
diff --git a/gi/pygi-argument.c b/gi/pygi-argument.c
index 26e31da..f44da8e 100644
--- a/gi/pygi-argument.c
+++ b/gi/pygi-argument.c
@@ -1429,8 +1429,13 @@ _pygi_argument_to_object (GArgument  *arg,
 
             switch (info_type) {
                 case GI_INFO_TYPE_ENUM:
-                    object = PyInt_FromLong(arg->v_int);
+                {
+                    GType type;
+
+                    type = g_registered_type_info_get_g_type((GIRegisteredTypeInfo *)info);
+                    object = pyg_enum_from_gtype(type, arg->v_int);
                     break;
+                }
                 case GI_INFO_TYPE_STRUCT:
                 {
                     GType type;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]