aspect resolving of animated values fixed ( placement/section bits )
This commit is contained in:
parent
e6fb38d383
commit
0a6ed7deb1
|
@ -904,7 +904,36 @@ QVariant QskSkinnable::animatedValue(
|
||||||
But that might change ...
|
But that might change ...
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
auto a = aspect;
|
||||||
|
|
||||||
|
Q_FOREVER
|
||||||
|
{
|
||||||
v = m_data->animators.currentValue( aspect );
|
v = m_data->animators.currentValue( aspect );
|
||||||
|
|
||||||
|
if ( !v.isValid() )
|
||||||
|
{
|
||||||
|
if ( aspect.placement() )
|
||||||
|
{
|
||||||
|
// clear the placement bits and restart
|
||||||
|
aspect = a;
|
||||||
|
aspect.setPlacement( QskAspect::NoPlacement );
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( aspect.section() != QskAspect::Body )
|
||||||
|
{
|
||||||
|
// try to resolve from QskAspect::Body
|
||||||
|
|
||||||
|
a.setSection( QskAspect::Body );
|
||||||
|
aspect = a;
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !v.isValid() )
|
if ( !v.isValid() )
|
||||||
|
@ -923,7 +952,7 @@ QVariant QskSkinnable::animatedValue(
|
||||||
if ( !aspect.hasStates() )
|
if ( !aspect.hasStates() )
|
||||||
aspect.setStates( skinStates() );
|
aspect.setStates( skinStates() );
|
||||||
|
|
||||||
const auto a = aspect;
|
auto a = aspect;
|
||||||
|
|
||||||
Q_FOREVER
|
Q_FOREVER
|
||||||
{
|
{
|
||||||
|
@ -947,6 +976,16 @@ QVariant QskSkinnable::animatedValue(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( aspect.section() != QskAspect::Body )
|
||||||
|
{
|
||||||
|
// try to resolve from QskAspect::Body
|
||||||
|
|
||||||
|
a.setSection( QskAspect::Body );
|
||||||
|
aspect = a;
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue