Comment 3 for bug 830634

Revision history for this message
Martijn Faassen (faassen) wrote :

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).