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