I'm having trouble subclassing a class from an extension module. When Python processes my subclass definition, and before any instances are created, it aborts with:

        python: Objects/typeobject.c:872: extra_ivars:
        Assertion `t_size >= b_size' failed.

The extension module is trying to coordinate no less than three different object systems (GObject, CORBA, Python). Let me back up and explain what's going on in there.

In the world of the GTK+ GObject system, I've got a GObject subclass. (It's actually a subclass of BonoboObject, which in turn derives from GObject.) I can write C code that instantiates this GObject-derived class and all is well.

I'm wrapping these GObject instances inside Python objects using h2def.py and pygtk-codegen-2.0. The ".defs" file looks good: there's a define-object construct with the right class name and parent class name. The constructor is detected and wrapped correctly. In the ".override" file I "import bonobo.Object as PyBonoboObject_Type", and everything builds smoothly. I can write Python code that instantiates this wrapper class and all is well.

What I cannot do is subclass this wrapper class in Python code. When I try to, I get the diagnostic message reported earlier:

        python: Objects/typeobject.c:872: extra_ivars:
        Assertion `t_size >= b_size' failed.

Does anyone know what deeper problem this message is symptomatic of? What am I doing wrong in my extension module that would allow it to work correctly when the wrapper class is instantiated directly, but which would cause this error when a subclass of the wrapper class is defined?

Thanks!

_______________________________________________
pygtk mailing list   [EMAIL PROTECTED]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/

Reply via email to