summaryrefslogtreecommitdiffstats
path: root/gobject
diff options
context:
space:
mode:
authorGustavo J. A. M. Carneiro <gjc@src.gnome.org>2006-08-27 12:02:33 +0000
committerGustavo J. A. M. Carneiro <gjc@src.gnome.org>2006-08-27 12:02:33 +0000
commitd05fccab23aef7fa4c406352552262782bf1066c (patch)
tree0e35f797d3aaacf586384e343120ea06f8ae5358 /gobject
parent3938273dfd085dc75f64ce44706cf508fd971099 (diff)
downloadpygobject-d05fccab23aef7fa4c406352552262782bf1066c.tar.gz
pygobject-d05fccab23aef7fa4c406352552262782bf1066c.tar.xz
pygobject-d05fccab23aef7fa4c406352552262782bf1066c.zip
interface fixes and tests
Diffstat (limited to 'gobject')
-rw-r--r--gobject/gobjectmodule.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gobject/gobjectmodule.c b/gobject/gobjectmodule.c
index dde48b6..fa6ffbc 100644
--- a/gobject/gobjectmodule.c
+++ b/gobject/gobjectmodule.c
@@ -1295,6 +1295,7 @@ pyg_type_register(PyTypeObject *class, const char *type_name)
continue;
itype = pyg_type_from_object((PyObject *) base);
+
/* ignore interface unless defined in parent type */
if (n_parent_interfaces == 0)
continue;
@@ -1305,7 +1306,7 @@ pyg_type_register(PyTypeObject *class, const char *type_name)
if (parent_interfaces[parent_interface_iter] == itype)
break;
}
- if (parent_interface_iter != n_parent_interfaces)
+ if (parent_interface_iter == n_parent_interfaces)
continue;
iinfo = pyg_lookup_interface_info(itype);
@@ -1393,9 +1394,11 @@ pyg_type_register(PyTypeObject *class, const char *type_name)
++parent_interface_iter)
{
if (parent_interfaces[parent_interface_iter] == itype)
- continue;
+ break;
}
}
+ if (parent_interface_iter < n_parent_interfaces)
+ continue;
iinfo = pyg_lookup_interface_info(itype);
iinfo_copy = *iinfo;