Two or three times. Then I get the spinning beach ball. On Mon, May 17, 2010 at 11:12 PM, Richard Rodseth <rrods...@gmail.com>wrote:
> 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 >> >> > >