Re: [Fresco-devel] problems with dead graphics again (sorry)

Stefan Seefeld <[email protected]> Wed, 29 Oct 2003 20:46:52 -0500
Newsgroups gmane.comp.video.fresco.devel
Message-ID <[email protected]>
[email protected] wrote:

> now the question for me is... where we sould catch this? _have_ traversals to deal with
> dead graphics? or is this a special case and we just catch it in PositionalFocus or
> EventManager? and how to handle it?

in a potentially distributed environment like this, where every object could be
physically located on a different machine, every method invocation may throw.

If it's a parent graphic that calls into a child graphic, the parent graphic
will update its reference (i.e. set it to _nil) so the next time it doesn't
even try to call.
On other occasions we have to be more careful so the scene graph doesn't get
corrupted.
The Traversal::update() call that is running into this is just updating
a cache. As such, it should be totally transparent to the user. This means
that if we can't update the cache, we must throw it out and start anew, but
otherwise ignore the exception.

> sorry again for posting this boring stuff... it's not very creative i know -_-

oh, it is. Making an application exception-safe *and* (semantically) correct
is pretty hard.

Thanks for looking into this !

Stefan