Use of super with wxStatusBar

Hi,

Just noticed today that using super() to call __del__ in a StatusBar
subclass causes an AttributeError to be raised (to stderr).

Exception AttributeError: "'super' object has no attribute '__del__'"
in <bound method SubStatusBar.__del__ of <__main__.SubStatusBar; proxy
of <Swig Object of type 'wxStatusBar *' at 0xe73670> >> ignored

Doing this for other wx derived objects seems to work correctly. In
the attached sample just run it from the console, then close the Frame
to see.

Is there a reason why this does not work with the StatusBar class or
is this a bug in how the wrappers for the StatusBar class are defined?

Was running 2.9.1.1 while this was observed, haven't tested on 2.8 yet.

Thanks,

Cody

statubar.py (536 Bytes)

Hi,

To reply to myself, I think I stumbled on to what is happening now.

For all wx objects the __del__ method does not attached to the class
until the object is instantiated and it appears that it may already be
removed from the object by the time the subclasses __del__ method is
called.

Cody

Yeah, SWIG is doing something squirrely there.

···

On 11/10/10 2:22 PM, Cody Precord wrote:

Hi,

To reply to myself, I think I stumbled on to what is happening now.

For all wx objects the __del__ method does not attached to the class
until the object is instantiated and it appears that it may already be
removed from the object by the time the subclasses __del__ method is
called.

--
Robin Dunn
Software Craftsman