Recursion limit error
J. Landman Gay
jacque at hyperactivesw.com
Sun Jun 20 13:37:08 EDT 2010
Simon Lord wrote:
> I have a divider in my stack which I would like to constrain within 2
> values along the x axis. In this case it should not be less than 180
> or greater than 420.
>
> if x < 180 or x > 420 then
> // do nothing
> else
> put the mouseH into iTableLeft
> send updateThisDisplay to this stack
> end if
>
> It kind works except that if the user moves their mouse very fast then
> the script falls into "do nothing" even though the divider is clearly
> not at either min/max bounds. I've tried a few other methods like
> using the mouseH and I keep running into the recursion limit
> (ironically on scripts that actually do what I want which is to stop
> exactly at 180 or 420 and stay there until the mouseH is going the
> other direction).
Do your check in a mousemove handler and avoid sending messages that may
pile up. Mousemove also has the advantage of passing the x and y
coordinates as parameters, so you don't need to read the mouseH. That
means it responds quicker.
on mouseMove x,y
if x > 180 or x < 420 then updateThisDisplay
end mouseMove
--
Jacqueline Landman Gay | jacque at hyperactivesw.com
HyperActive Software | http://www.hyperactivesw.com
More information about the use-livecode
mailing list