, m_timingFunction(animation->timingFunction())
, m_type(type)
, m_operations(operations)
+ , m_originalLayer(0)
{
ASSERT(m_timingFunction);
, m_timingFunction(anim->m_timingFunction)
, m_type(anim->m_type)
, m_operations(anim->m_operations)
+ , m_originalLayer(0)
{
gDebugAndroidAnimationInstances++;
}
if (progress >= 1) {
m_finished = true;
- return false;
+ if (layer != m_originalLayer)
+ return false;
}
+ if (!m_originalLayer)
+ m_originalLayer = layer;
+
// First, we need to get the from and to values
int from, to;
layer->setOpacity(value);
XLOG("AndroidOpacityAnimation::evaluate(%p, %p, %.2f) value=%.6f", this, layer, time, value);
+
return true;
}
if (progress >= 1) {
m_finished = true;
- return false;
+ if (layer != m_originalLayer)
+ return false;
}
+ if (!m_originalLayer)
+ m_originalLayer = layer;
+
IntSize size(layer->getSize().width(), layer->getSize().height());
TransformationMatrix matrix;
XLOG("Evaluate transforms animations, %d operations, progress %.2f for layer %d (%d, %d)"