> > > Now I see your problem. If you look at the code of MMBase.addLocalObserver > then you are added to the observer vector of the MediaFragments > Builder, but not > to the vector of the VideoFragment en AudioFragment builders. > hehe It took some emails, i will try to be more clear next time ;-)
> That's clear, but you agree that this second call to the parent > builder will > finally end up for the second time in MMObjectBuilder.nodeXXXChanged > with only a different builder param? Idem voor de MediaFragments builder > it will see the changed signal twice or more. Is it very difficult to let > addXXXObserver add the observer to all relevant builders, so one signal > can do the job? > I see two problems with this. 1) A MMObjectBuilder only knows when it is having a parentBuilder, so the childBuilders are not know. But this, probably, has to change in the future to avoid e.g. that a builder can be deactivated or deleted while it is having child's. 2) If an audiofragment changes the signal should also go to the mediafragment builder. Regardless if observers are set! The mediafragment builder only sends the signals to it's observers and will ignore the statements for caching, because the cache is already cleared in the audiofragment builder. b.t.w. It's is not true that some instance would retrieve the node changes twice. The MMObjectBuilder of audiofragments would receive the signal (where buildername=audiofragments) and the MMObjectBuild of mediafragments would receive the signal (where buildername=audiofragments). In the current implementation the MMobjectBuilder is responsible to sent signals to all instances that are listening. greetings Rob
