powered by Jive Software

Presence.as possible bug

My xiff application was getting following error when a sip-communicator client changed presence .

TypeError: Error #1009: Cannot access a property or method of a null object reference.

at org.igniterealtime.xiff.data::Presence/get status()

at org.igniterealtime.xiff.im::Roster/::updateRosterItemPresence()

at org.igniterealtime.xiff.im::Roster/::handlePresence()

at org.igniterealtime.xiff.im::Roster/::handleEvent()

at flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFuncti on()

at flash.events::EventDispatcher/dispatchEvent()[C:\Documents and Settings\acrorel\Local Settings\Temp\aslibc-28157\EventDispatcher.as:209]

at org.igniterealtime.xiff.core::XMPPConnection/org.igniterealtime.xiff.core:XMPPC onnection::handlePresence()

at org.igniterealtime.xiff.core::XMPPConnection/org.igniterealtime.xiff.core:XMPPC onnection::socketReceivedData()

I had to add a following line to get status() function in the Presence.as file to fix the issue.

if (myStatusNode.firstChild == null) return null;

This is the updated get status function.

public function get status():String

{

if (myStatusNode == null) return null;

if (myStatusNode.firstChild == null) return null;

return myStatusNode.firstChild.nodeValue;

}

And this is XML that I was getting from the sip-communicator

<presence id=“123” to=“test@test/xiff” from=“test1@test/sip-comm”>

<status />

<priority>10</priority>

<show>chat</show>

</presence>

I hope this line would be added on next release.

Thank you