Tim:

I would GUESS that one way to make this happen (to bowl the beachball of death) is to have two handlers trigger each other in turn.

Suppose you have an object for which you have specified Geometry. This means that Rev will try to modify the size and/or location of the object for you as the stack is resized. If you then write your own On ReSize handler, and accidentally modify the size/location of the object, I wonder if Rev would "know" what you did, and try to "fix" it.

Now that I read what I've written, I doubt that this specific situation could cause a repeated/recursive handler call, but perhaps something like it. One approach to debugging it would be to put breakpoints at the start of every non-trivial handler, and see what happens. When I say non-trivial, I'm not so much talking about the complexity of the handler as I am about the function, whether it might interfere with another handler that is also present.

I hope this theoretical discussion does not turn out to be a waste of your time.

:)

Jon


Timothy Miller wrote:

Many thanks to all on this thread.

After suppressing messages, I opened the stacks in question and combed through their stack and bg scripts, commenting out all non-essential handlers. I would have done this sooner, except the symptoms seemed to suggest a corrupted stack or corrupted application.

After saving, restarting Rev, and non-suppressing messages, these stacks seemed fine. The essential features still work. I guess I'll just comment the handlers back in, very carefully, one at a time, while carefully reviewing each one for possible small errors. The problems will make themselves known as I go along, most likely.

These are HC --> Rev stacks. I suspect a few handlers left over from HC contained some minor errors, which HC ignored. They didn't necessarily cause error messages in Rev, either, so I didn't know they were there. These, in combination with a few new errors, also minor, apparently made Rev go insane. In HC, the same errors would have generated easy-to-understand error messages, at worst.

I guess the rules of the game have changed. I'm certainly going to be more cautious than I used to be when writing new handlers.

Maybe I'm wrong, though I never once made HC go insane with conventional handlers doing conventional things. The occasional infinite repeat loop was easily interrupted with command-period. If I'm wrong, please correct me.

If someone can explain how conventional handlers doing conventional things can make Rev go insane, and what precautions to employ in the future -- other than the obvious ones, please speak up. Being a perpetual scripting novice, I wrote my crude HC scripts by trial and error. They either worked or didn't or generated simple error messages. I'm going to have to change my ways, I suppose.

Cheers,


Tim


_______________________________________________
use-revolution mailing list
[email protected]
http://lists.runrev.com/mailman/listinfo/use-revolution


_______________________________________________
use-revolution mailing list
[email protected]
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to