animatedValue fixed
This commit is contained in:
parent
d03779cc6d
commit
925613b81c
|
@ -395,8 +395,7 @@ QskAnimationHint QskSkinnable::effectiveAnimation(
|
||||||
return hint;
|
return hint;
|
||||||
}
|
}
|
||||||
|
|
||||||
const QskSkin* skin = effectiveSkin();
|
if ( auto skin = effectiveSkin() )
|
||||||
if ( skin )
|
|
||||||
{
|
{
|
||||||
const auto a = skin->hintTable().resolvedAnimator( aspect, hint );
|
const auto a = skin->hintTable().resolvedAnimator( aspect, hint );
|
||||||
if ( a.isAnimator() )
|
if ( a.isAnimator() )
|
||||||
|
@ -485,13 +484,24 @@ QVariant QskSkinnable::animatedValue(
|
||||||
if ( aspect.state() == QskAspect::NoState )
|
if ( aspect.state() == QskAspect::NoState )
|
||||||
aspect = aspect | skinState();
|
aspect = aspect | skinState();
|
||||||
|
|
||||||
|
const auto aspect0 = aspect;
|
||||||
|
|
||||||
Q_FOREVER
|
Q_FOREVER
|
||||||
{
|
{
|
||||||
v = QskSkinTransition::animatedHint( control->window(), aspect );
|
Q_FOREVER
|
||||||
if ( v.isValid() || aspect.state() == QskAspect::NoState )
|
{
|
||||||
|
v = QskSkinTransition::animatedHint( control->window(), aspect );
|
||||||
|
if ( v.isValid() || aspect.state() == QskAspect::NoState )
|
||||||
|
break;
|
||||||
|
|
||||||
|
aspect.clearState( aspect.topState() );
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( v.isValid() || aspect.placement() == QskAspect::NoPlacement )
|
||||||
break;
|
break;
|
||||||
|
|
||||||
aspect.clearState( aspect.topState() );
|
aspect = aspect0;
|
||||||
|
aspect.setPlacement( QskAspect::NoPlacement );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue