summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@sugarlabs.org>2010-04-16 14:35:13 -0400
committerTomeu Vizoso <tomeu@sugarlabs.org>2010-04-16 14:49:59 -0400
commite73b6f6fe8b5f23a2a390ae0a6bbced593ded155 (patch)
tree93ded0379228f51339914e53a9fb41e79f40bd3e
parentfc9ff02e53aacf9e77625c70985e99813544912a (diff)
downloadpygi-e73b6f6fe8b5f23a2a390ae0a6bbced593ded155.tar.gz
pygi-e73b6f6fe8b5f23a2a390ae0a6bbced593ded155.tar.xz
pygi-e73b6f6fe8b5f23a2a390ae0a6bbced593ded155.zip
Allow creating structs with pointers
https://bugzilla.gnome.org/show_bug.cgi?id=603537
-rw-r--r--gi/pygi-struct.c6
-rw-r--r--tests/test_gi.py3
2 files changed, 2 insertions, 7 deletions
diff --git a/gi/pygi-struct.c b/gi/pygi-struct.c
index b1e81bf..f15a6cd 100644
--- a/gi/pygi-struct.c
+++ b/gi/pygi-struct.c
@@ -65,12 +65,6 @@ _struct_new (PyTypeObject *type,
return NULL;
}
- is_simple = pygi_g_struct_info_is_simple((GIStructInfo *)info);
- if (!is_simple) {
- PyErr_Format(PyExc_TypeError, "cannot create '%s' instances", type->tp_name);
- goto out;
- }
-
size = g_struct_info_get_size((GIStructInfo *)info);
pointer = g_try_malloc0(size);
if (pointer == NULL) {
diff --git a/tests/test_gi.py b/tests/test_gi.py
index 89dfe87..9b9a849 100644
--- a/tests/test_gi.py
+++ b/tests/test_gi.py
@@ -998,7 +998,8 @@ class TestStructure(unittest.TestCase):
del struct
def test_not_simple_struct(self):
- self.assertRaises(TypeError, GIMarshallingTests.NotSimpleStruct)
+ struct = GIMarshallingTests.NotSimpleStruct()
+ self.assertEquals(None, struct.pointer)
def test_simple_struct_return(self):
struct = GIMarshallingTests.simple_struct_return()