[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]