Expand my Community achievements bar.

Error: null prop at SharedCursorPane.as:537: how best to handle?

Avatar

Level 4

just started to get this one too. literally right now, continuously, having never seen it before (FP10 swc):

TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at com.adobe.rtc.collaboration::SharedCursorPane/onNodeCreate()[C:\work\main\connect\cocomoPlayer10\src\com\adobe\rtc\collaboration\SharedCursorPane.as:537]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at com.adobe.rtc.sharedModel::CollectionNode/http://www.adobe.com/2006/connect/cocomo/messaging/internal::receiveNode()[C:\work\main\connect\cocomoPlayer10\src\com\adobe\rtc\sharedModel\CollectionNode.as:705]
    at com.adobe.rtc.messaging.manager::MessageManager/http://www.adobe.com/2006/connect/cocomo/messaging/internal::receiveNode()[C:\work\main\connect\cocomoPlayer10\src\com\adobe\rtc\messaging\manager\MessageManager.as:583]
    at com.adobe.rtc.session.managers::SessionManagerBase/receiveNode()[C:\work\main\connect\cocomoPlayer10\src\com\adobe\rtc\session\managers\SessionManagerBase.as:298]

???

4 Replies

Avatar

Former Community Member

Hi,

What is it that you are doing that leaves this error ?

Can you link to the source and put a breakpoint to see which value is coming null ?

These information can help us track the issue.

Thanks

Hironmay Basu

Avatar

Level 4

hey hironmay

we've isolated if not solved the problem. elsewhere in the app, COMPLETELY unconnected to the SharedCursorPane, we've got a mx:ToggleButtonBar to which we, just prior to the point the app crashes, do this;

topBar.toggleButtonBar.selectedIndex = -1;

we tried killing some event bubbling thus:

topBar.toggleButtonBar.addEventListener(FlexEvent.VALUE_COMMIT, _onToggleBarChange);

private function _onToggleBarChange(event:FlexEvent):void
{
    event.stopImmediatePropagation();
}

which fixed the problem ONCE but then it came back again. basically the line:

topBar.toggleButtonBar.selectedIndex = -1;

if commented out means the SharedCursorPane bug wont appear. but i need to change this toggleButtonBar's selectedIndex to -1, so that won't do.

im going to try to catch and stopImmediatePropagation on some of the toggleButtonBar's other events. dont know if itll make a difference but we'll see............

IMPORTANT UPDATE:

um. im just looking through the FP9 version of SharedCursorPane.as and can't help noticing it's littered with references to "stage". they're everywhere. it looks like that might be the 'null' prop in question thats causing the error. is it not a little presumptuous to think that every SharedWhiteBoard will always have a 'stage' property? my client want a whiteBoard that they can hide from time to time to go nav round the rest of the site, do some stuff but keep the meeting seesion & whiteBoard running, then come back to meeting later on. When this happens i'm far more inclined to do:

removeChild(meetingRoomCanvas);

than

meetingRoomCanvas.visible = false;

cos i know the FP will attempt to draw invisible onstage movieclips, thus being an unacceptable CPU drain. removeChild'ing it should be an option. i gave up using visible = false years ago and don't intend to go back.

Avatar

Level 4

so here are the listeners from the massive list i thought i'd catch and stopImmediatePropagation on:

toggleButtonBar.addEventListener(

    IndexChangedEvent.CHILD_INDEX_CHANGE, _onKillToggleBarEvent);
toggleButtonBar.addEventListener(

    StateChangeEvent.CURRENT_STATE_CHANGE, _onKillToggleBarEvent);
toggleButtonBar.addEventListener(

    Event.TAB_CHILDREN_CHANGE, _onKillToggleBarEvent);
toggleButtonBar.addEventListener(

    Event.TAB_INDEX_CHANGE, _onKillToggleBarEvent);

private function _onKillToggleBarEvent (event:Event):void
{
    event.stopImmediatePropagation();
}

but no cigar 

Avatar

Level 4

i have fixed this by running the line

topBar.toggleButtonBar.selectedIndex = -1;

prior to starting the afcs session. kind of a workaround fix but it has solved the problem.