I have a simple anonymous Animation extension that manipulates an
element's backgroundColor. It works fine, until I try to "loop" the
animation by calling run() via onComplete. This causes the JVM to
crash hard with:
Invalid access of stack red zone 0x1674b6fe8 rip=0x1010c307f
This is in Safari on a Mac.
I understand that this kind of error tends to indicate a blown stack.
Interestingly, if I add logging output in my onStart() I only ever see
a single call to it, whereas onComplete() is called repeatedly. Are
animations not intended to be re-runnable?
public class ColorAnimation extends Animation
{
private int halfTime;
private String startColor, endColor;
public ColorAnimation(String startColor, String endColor, int
animTime)
{
this.startColor = startColor;
this.endColor = endColor;
halfTime = animTime / 2;
}
@Override
protected void onStart()
{
super.onStart();
GWT.log("onStart()...");
}
@Override
protected void onUpdate(double progress)
{
String color = between(startColor, endColor, progress);
getElement().getStyle().setProperty("backgroundColor",
color);
}
@Override
protected void onComplete()
{
super.onComplete();
GWT.log("onComplete");
String tmp = startColor;
startColor = endColor;
endColor = tmp;
run(halfTime);
}
}
--
You received this message because you are subscribed to the Google Groups
"Google Web Toolkit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-web-toolkit?hl=en.