summaryrefslogtreecommitdiff
path: root/sleekxmpp/xmlstream/stanzabase.py
diff options
context:
space:
mode:
authorLance Stout <lancestout@gmail.com>2012-04-14 11:13:38 -0400
committerLance Stout <lancestout@gmail.com>2012-04-14 11:13:38 -0400
commitcb2469322b68cfc0c3761fdcb0cd6acafa0a3647 (patch)
tree359391f65d51c809af0c3f0e1d1cfe4fb2b077f6 /sleekxmpp/xmlstream/stanzabase.py
parent94aa6673cab5bf79648ac666dc62f48b064bb845 (diff)
downloadslixmpp-cb2469322b68cfc0c3761fdcb0cd6acafa0a3647.tar.gz
slixmpp-cb2469322b68cfc0c3761fdcb0cd6acafa0a3647.tar.bz2
slixmpp-cb2469322b68cfc0c3761fdcb0cd6acafa0a3647.tar.xz
slixmpp-cb2469322b68cfc0c3761fdcb0cd6acafa0a3647.zip
Handle using provided weakrefs as stanza parent references.
Fixes issue #159
Diffstat (limited to 'sleekxmpp/xmlstream/stanzabase.py')
-rw-r--r--sleekxmpp/xmlstream/stanzabase.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/sleekxmpp/xmlstream/stanzabase.py b/sleekxmpp/xmlstream/stanzabase.py
index e1a2085a..2f6416d5 100644
--- a/sleekxmpp/xmlstream/stanzabase.py
+++ b/sleekxmpp/xmlstream/stanzabase.py
@@ -326,7 +326,10 @@ class ElementBase(object):
#: If not, then :attr:`parent` is ``None``.
self.parent = None
if parent is not None:
- self.parent = weakref.ref(parent)
+ if not isinstance(parent, weakref.ReferenceType):
+ self.parent = weakref.ref(parent)
+ else:
+ self.parent = parent
if self.subitem is not None:
for sub in self.subitem: