From 167bf70e0b637961334339cfb91eb5a65b014373 Mon Sep 17 00:00:00 2001
From: Nathan Fritz <fritzy@netflint.net>
Date: Wed, 27 Jan 2010 19:37:26 -0800
Subject: fixed status change issue

---
 sleekxmpp/basexmpp.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sleekxmpp/basexmpp.py b/sleekxmpp/basexmpp.py
index 74605944..100bef90 100644
--- a/sleekxmpp/basexmpp.py
+++ b/sleekxmpp/basexmpp.py
@@ -252,7 +252,7 @@ class basexmpp(object):
 		if presence['type'] in ('subscribe', 'subscribed', 'unsubscribe', 'unsubscribed'):
 			self.event('changed_subscription', presence)
 			return
-		elif not presence['type'] in ('available', 'unavailable'):
+		elif not presence['type'] in ('available', 'unavailable') and not presence['type'] in presence.showtypes:
 			return
 		jid = presence['from'].bare
 		resource = presence['from'].resource
@@ -280,7 +280,7 @@ class basexmpp(object):
 				del self.roster[jid]['presence'][resource]
 			else:
 				del self.roster[jid]
-		elif oldroster != self.roster.get(jid, {'presence': {}})['presence'].get(resource, {}) and show != 'unavailable':
+		elif oldroster != self.roster.get(jid, {'presence': {}})['presence'].get(resource, {}):
 			self.event("changed_status", presence)
 		name = ''
 		if name:
-- 
cgit v1.2.3