diff --git a/src/common/connection.py b/src/common/connection.py index 64225cbcc..2979a327f 100644 --- a/src/common/connection.py +++ b/src/common/connection.py @@ -717,16 +717,14 @@ class Connection(ConnectionHandlers): if iq_obj.getTag('error'): # error, probably not a real agent return - self.connection.getRoster().delItem(agent) def unsubscribe_agent(self, agent): if not self.connection: return iq = common.xmpp.Iq('set', common.xmpp.NS_REGISTER, to = agent) iq.getTag('query').setTag('remove') - self.connection.SendAndCallForResponse(iq, self._continue_unsubscribe, - {'agent': agent}) - return + self.connection.send(iq) + self.connection.getRoster().delItem(agent) def update_contact(self, jid, name, groups): '''update roster item on jabber server''' diff --git a/src/gajim.py b/src/gajim.py index be3010db0..a2e3cb8a9 100755 --- a/src/gajim.py +++ b/src/gajim.py @@ -965,6 +965,8 @@ class Interface: #FIXME if it was the only one in its group, remove the group return elif not contacts: + if sub == 'remove': + return # Add it to roster contact = gajim.contacts.create_contact(jid = jid, name = name, groups = groups, show = 'offline', sub = sub, ask = ask)