def _disconnect_by_name(self, name):
        try:
            if self.connections[name]:
                (source_id, instance) = self.connections[name]

                if GObject.signal_handler_is_connected(instance, source_id):
                    instance.disconnect(source_id)
                    debug_sigs("_disconnect_by_name succeeded for", name, "id", source_id)
                else:
                    debug_sigs("_disconnect_by_name failed (not a valid id) for", name, "id", source_id)

                del self.connections[name]

        except KeyError as e:
            debug_sigs("_disconnect_by_name failed (not being tracked or already disco'd) for", name, str(e))
    def _disconnect_by_name(self, name):
        try:
            if self.connections[name]:
                (source_id, instance) = self.connections[name]

                if GObject.signal_handler_is_connected(instance, source_id):
                    instance.disconnect(source_id)
                    debug_sigs("_disconnect_by_name succeeded for", name, "id", source_id)
                else:
                    debug_sigs("_disconnect_by_name failed (not a valid id) for", name, "id", source_id)

                del self.connections[name]

        except KeyError as e:
            debug_sigs("_disconnect_by_name failed (not being tracked or already disco'd) for", name, str(e))