I think I already mentioned it was called twice. I can double-check
tomorrow.

On Mon, May 17, 2010 at 9:35 PM, Alex Harui <aha...@adobe.com> wrote:

>
>
> Set a breakpoint on setSelectionDataLoop.  See how often it gets called.
>
>
>
> On 5/17/10 4:49 PM, "Richard Rodseth" <rrods...@gmail.com> wrote:
>
>
>
>
>
>
> Thanks for trying. No, the presentation model has an array collection whose
> .source gets changed after an HTTPService call returns (although I should
> mention that I am using my mock service layer at the moment). I added a a
> collection change listener to the collection reference.
> I have set a breakpoint in setSelectionDataLoop(). I hit it twice (the
> parameters appear the same - index 0, items array containing the object to
> select, useFind=false). Then the debugger stopped with the finally{} block
> in Binding.watcherFired highlighted and the stack crawl below. Below this
> stack crawl I've included the last few lines of the one that shows up in the
> console.
>
> Main Thread (Suspended: Error: Error #1502: A script has executed for
> longer than the default timeout period of 15 seconds.)
>     mx.binding::Binding/watcherFired
>     mx.binding::Watcher/notifyListeners
>     mx.binding::PropertyWatcher/eventHandler
>     flash.events::EventDispatcher/dispatchEventFunction [no source]
>     flash.events::EventDispatcher/dispatchEvent [no source]
>
> com.companyname.admin.deviceshome.ui.presentation::DevicesHome/changeSelectedGroupIds
>
>
> com.companyname.admin.deviceshome.ui.presentation::DevicesHome/groupsChangedListener
>
>     flash.events::EventDispatcher/dispatchEventFunction [no source]
>     flash.events::EventDispatcher/dispatchEvent [no source]
>     mx.collections::ListCollectionView/dispatchEvent
>     mx.collections::ListCollectionView/
> http://www.adobe.com/2006/flex/mx/internal::reset
>     mx.collections::ListCollectionView/set list
>     mx.collections::ArrayCollection/set source
>     <anonymous>
>     mx.rpc::Responder/result
>     <anonymous>
>     Array$/_forEach [no source]
>     Array/http://adobe.com/AS3/2006/builtin::forEach [no source]
>     <anonymous>
>     flash.utils::Timer/_timerDispatch [no source]
>     flash.utils::Timer/tick [no source]
>
> Console:
>
> Error: Error #1502: A script has executed for longer than the default
> timeout period of 15 seconds.
>     at mx.controls.treeClasses::HierarchicalViewCursor/moveNext()
>     at
> mx.controls.listClasses::ListBase/setSelectionDataLoop()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\controls\listClasses\ListBase.as:6455]
>
>
> On Mon, May 17, 2010 at 4:09 PM, Oleg Sivokon <olegsivo...@gmail.com>
> wrote:
>
>
>
>
>
>
> I wish I could help more... well here's another guess:
> - if you are using XML / XMLList, and have used insertBefore / isertAfter
> from the same XML / XMLList, then it is a known bug.
> - if you dispatch "collectionChange" on your own you might have messed
> something in the event's properties, which then will make the collection run
> in a loop thinking it's being updated over and over again. It is slow, but
> it isn't that slow to run out of script timeout limit :)
> Anyways, bindings are the first suspect in such case, but if that's not...
> ah, and, why won't you debug it? the debugger should be able to look into
> the framework sources. If, for whatever reason it doesn't, copy the Tree and
> other classes involved into your project and try debugging this way.
>
> Best.
>
> Oleg
>
>
>
>
>
>
>
>
>
>
> --
> Alex Harui
> Flex SDK Team
> Adobe System, Inc.
> http://blogs.adobe.com/aharui
>  
>

Reply via email to