[pygobject/gsoc2009: 158/160] Allow None for pointers that can be NULL
- From: Simon van der Linden <svdlinden src gnome org>
 
- To: svn-commits-list gnome org
 
- Cc: 
 
- Subject: [pygobject/gsoc2009: 158/160] Allow None for pointers that can be NULL
 
- Date: Fri, 14 Aug 2009 21:37:01 +0000 (UTC)
 
commit 65470816f5180edcbcefecf38a5eac4ae1c79099
Author: Simon van der Linden <svdlinden src gnome org>
Date:   Fri Aug 14 12:14:03 2009 +0200
    Allow None for pointers that can be NULL
 gi/pygi-argument.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)
---
diff --git a/gi/pygi-argument.c b/gi/pygi-argument.c
index fa4f7a8..ee2b242 100644
--- a/gi/pygi-argument.c
+++ b/gi/pygi-argument.c
@@ -351,9 +351,15 @@ _pygi_g_type_info_check_object (GITypeInfo *type_info,
                                 PyObject   *object)
 {
     GITypeTag type_tag;
+    gboolean is_pointer;
     gint retval = 1;
 
     type_tag = g_type_info_get_tag(type_info);
+    is_pointer = g_type_info_is_pointer(type_info);
+
+    if (is_pointer && may_be_null && object == Py_None) {
+        return retval;
+    }
 
     switch(type_tag) {
         case GI_TYPE_TAG_VOID:
@@ -565,9 +571,6 @@ check_number_release:
                 }
                 case GI_INFO_TYPE_BOXED:
                 case GI_INFO_TYPE_OBJECT:
-                    if (may_be_null && object == Py_None) {
-                        break;
-                    }
                     retval = _pygi_g_registered_type_info_check_object((GIRegisteredTypeInfo *)info, TRUE, object);
                     break;
                 case GI_INFO_TYPE_UNION:
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]