order of buffer operations in DBASE process

New Message Reply Date view Thread view Subject view Author view

AnitaKishore (kishore++at++electrogig.com)
Fri, 9 Feb 1996 11:44:14 -0800


>
> DBASE process callback:
>
> - create newSwitch and set its switch value
> - for all scenes
> - buffer remove scene from switch
> - buffer add scene to newSwitch
> - buffer insert sceneX in newSwitch
> - buffer remove switch and async delete switch from root
> - buffer add newSwitch to root
> - merge buffer
>
> I would expect newSwitch to have children in the same order as the old
switch,
> but instead the order is reversed! SceneX is correctly inserted, but the
> rest of the scenes are in reverse order. Even if I don't insert any new
scene,
> the order is still reversed.

continuing with the above example, I also notice that pfBufferInsert doesn't
allow me to insert a new child at any index other than 0. The warning
given is: "PF Warning/Usage: pfInsertChild: Bad index 1."

Since all the buffer related calls are deferred till the next pfSync(), and
if the calls order remain the same till then, then switch will have 3 children
and the insertion can then take place anywhere between 0 to 2. Notice that
insertion follows addition of all existing scenes. pfBufferInsert() shouldn't
check for range validity at the time it is called - if this is what happens.
Instead it should wait untill the previous calls have taken effect. Otherwise
how can we insert at position != 0?

Thanks for any help.

-anita

----------------------------------------------------------------------------
Anita Kishore
kishore++at++electrogig.com
----------------------------------------------------------------------------


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:52:23 PDT

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.