diff --git a/src/common/zeroconf/zeroconf.py b/src/common/zeroconf/zeroconf.py index fef1187ae52c393bc98cdd30dffa0db51592d6db..0924b086984b1a905fb18ef052f43d47d6b76324 100755 --- a/src/common/zeroconf/zeroconf.py +++ b/src/common/zeroconf/zeroconf.py @@ -67,8 +67,10 @@ class Zeroconf: def error_callback(self, err): gajim.log.debug(str(err)) - self.disconnect() - self.disconnected_CB() + # timeouts are non-critical + if str(err) != 'Timeout reached': + self.disconnect() + self.disconnected_CB() def new_service_callback(self, interface, protocol, name, stype, domain, flags): gajim.log.debug('Found service %s in domain %s on %i.%i.' % (name, domain, interface, protocol)) diff --git a/src/roster_window.py b/src/roster_window.py index d2df47b8ff1d59ba671e233162278b990e1f9e51..0d623b39c17146b19199576ff1d7554054d2ebb1 100644 --- a/src/roster_window.py +++ b/src/roster_window.py @@ -3584,11 +3584,7 @@ _('If "%s" accepts this request you will know his or her status.') % jid) if account_dest == 'all': # drop on account row in merged mode: we can't know which account it is return - - if account_dest == gajim.ZEROCONF_ACC_NAME: - # drop on zeroconf account, no contact adds possible - return - + # if account is not connected, do nothing if gajim.connections[account_dest].connected < 2: return @@ -3614,6 +3610,10 @@ _('If "%s" accepts this request you will know his or her status.') % jid) account_dest, c_dest, path) return + if account_dest == gajim.ZEROCONF_ACC_NAME: + # drop on zeroconf account, no contact adds possible + return + if position == gtk.TREE_VIEW_DROP_BEFORE and len(path_dest) == 2: # dropped before a group : we drop it in the previous group path_dest = (path_dest[0], path_dest[1]-1)