GNOME Bugzilla – Bug 327715
Virtual methods should look in all bases
Last modified: 2008-07-16 10:12:47 UTC
Currently you can only override virtual methods in the current class, since the generated code does a klass.__dict__[method_name] instead of getattr(klass, method_name) which means that you can't put virtual methods in mixins or base classes.
It also makes impossible deep subclassing C classes, and using their methods implementation from C code, e.g. it's impossible to have C class, subclass it in python, subclass this subclass, create an instance of this grandchild class in C code, and use its methods (or impossible to use methods of intermediate class, depending on where you put gobject.type_register).
Sorry, my bad, it seems to be fixed in 2.10.