When doing some multiple inheritance with Python classes generated by SWIG, a bug occurs when more than 2 classes are used: the underlying SWIG object (accessible through
self.this) will only be able to track at most two classes, the first and last initialized.
I've tracked down the issue to the
SwigPyObject_append method in the generated CPP code. This function doesn't check if the first argument (
sobj) already has a
swig.patch contains the patch we currently use to circumvent the issue;