James Henstridge wrote:
>
> That sounds like a bit of a problem. I made it so that attributes
> starting with an underscore would not be shared between instance objects,
> but it doesn't quite work right in that snapshot. To fix it, edit gtk.py,
> find the __setattr__ method, and at the end of the first if block, add a
> return statement to the end.
>
> I am not sure how to handle this problem. Does anyone have any ideas?
>
> James Henstridge.
What do you think about about doing a global replace of _o and _ag with
__o and __ag? That allows '_' attributes to be shared, while '__'
attributes are not.
Alternatively, you could check specifically for '_o', '_ag', '__win',
etc... in setattr.
BTW, this change also caused my current code to crash. In a few places
where I subclass a Gtk*, I set some attributes before calling the
__init__ method of the parent class. See below:
from gtk import *
from GDK import *
class MyLabelWorks(GtkLabel):
def __init__(self,label="Hello World!"):
GtkLabel.__init__(self,label)
self.label=label
class MyLabelFails(GtkLabel):
def __init__(self,label="Hello World!"):
self.label=label
GtkLabel.__init__(self,label)
l=MyLabelWorks()
l=MyLabelFails()
I have a patch that allows the MyLabelFails behavior, if you are
interested. Obviously, any attributes set before the __init__ is called
will not be available to signal handlers...but I think that is better
than the error message I get in the "Fails" case above! ;)
I'm not sure if this is related to the problem Markus is seeing or
not....
> > One problem with the new approach is that I no longer can add instance
> > variables when deriving from classes like GtkDialog.
> >
> > ----- Markus Oberhumer <[EMAIL PROTECTED]> -----
--
Richard Fish Enhanced Software Technologies, Inc.
Software Developer 4014 E Broadway Rd Suite 405
[EMAIL PROTECTED] Phoenix, AZ 85040
(602) 470-1115 http://www.estinc.com
To unsubscribe: echo "unsubscribe" | mail [EMAIL PROTECTED]