Okay, I hacked my way into getting a GUI. Here's my hack around line 105 (the place of the original traceback). Replace the line:
meth = getattr(self.__iface, method_name)
with this:
import dbus.proxies if not isinstance(method_name, dbus.proxies._ProxyMethod): meth = getattr(self.__iface, method_name) else: meth = method_name return meth(*args, **kwargs)
this along with the scary __getattr__ (which is already there but which I criticized before) will make things work at least enough to make the GUI appear on Fedora 15.
I'm not proposing this as a real patch, as I have no idea what I'm doing. I have the feeling that there was a slow accumulation of magic in this class probably intended to make programming easier, but now pretty scary to me (and leading to odd bugs like this).
Okay, I hacked my way into getting a GUI. Here's my hack around line 105 (the place of the original traceback). Replace the line:
with this:
this along with the scary __getattr__ (which is already there but which I criticized before) will make things work at least enough to make the GUI appear on Fedora 15.
I'm not proposing this as a real patch, as I have no idea what I'm doing. I have the feeling that there was a slow accumulation of magic in this class probably intended to make programming easier, but now pretty scary to me (and leading to odd bugs like this).