Fixed bug: delay xml element release when decoding a jingle jabber event until transport and/or media are retrieved from it.
git-svn-id: http://voip.null.ro/svn/yate@1983 acf43c95-373e-0410-b603-e72c3f656dc1
This commit is contained in:
parent
b8f67148f3
commit
0d3d4aa509
|
@ -705,11 +705,14 @@ JGEvent* JGSession::decodeJingle(JBEvent* jbev)
|
|||
media = jingle->findFirstChild(XMLElement::Description);
|
||||
if (media && !media->hasAttribute("xmlns",s_ns[XMPPNamespace::JingleAudio]))
|
||||
break;
|
||||
event = new JGEvent(act,this,jbev->releaseXML());
|
||||
// Don't set the event's element yet: this would invalidate the 'jingle' variable
|
||||
event = new JGEvent(act,this,0);
|
||||
XMLElement* t = trans ? trans->findFirstChild(XMLElement::Candidate) : 0;
|
||||
for (; t; t = trans->findNextChild(t,XMLElement::Candidate))
|
||||
event->m_transport.append(new JGTransport(t));
|
||||
event->m_audio.fromXML(media);
|
||||
event->m_id = jbev->id();
|
||||
event->m_element = jbev->releaseXML();
|
||||
break;
|
||||
}
|
||||
if (trans != jingle)
|
||||
|
|
Loading…
Reference in New Issue