From 40aeb806180867d3c714c25ae54f82fc61d72c46 Mon Sep 17 00:00:00 2001 From: Uwe Rathmann Date: Wed, 26 Jul 2017 13:21:44 +0200 Subject: [PATCH] respecting all local skin hints during skin transitions --- src/controls/QskSkinTransition.cpp | 38 +++++++++++++++--------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/src/controls/QskSkinTransition.cpp b/src/controls/QskSkinTransition.cpp index 354175fc..03398f25 100644 --- a/src/controls/QskSkinTransition.cpp +++ b/src/controls/QskSkinTransition.cpp @@ -257,24 +257,6 @@ namespace // the control is not interested in the aspect continue; } - - QskAspect::Aspect a = candidate.aspect; - a.clearStates(); - a.addState( control->skinState() ); - - const QskSkinHintStatus requestState = control->hintStatus( a ); - - if ( requestState.source != QskSkinHintStatus::Skin ) - { - // The control does not resolve the aspect from the skin. - continue; - } - - if ( candidate.aspect != requestState.aspect ) - { - // the aspect was resolved to something else - continue; - } } else { @@ -283,12 +265,30 @@ namespace if ( candidate.aspect.isBoxPrimitive() && ( candidate.aspect.boxPrimitive() == QskAspect::Background ) ) { - // no need to animate the background if we show it + // no need to animate the background unless we show it continue; } } } + QskAspect::Aspect a = candidate.aspect; + a.clearStates(); + a.addState( control->skinState() ); + + const QskSkinHintStatus requestState = control->hintStatus( a ); + + if ( requestState.source != QskSkinHintStatus::Skin ) + { + // The control does not resolve the aspect from the skin. + continue; + } + + if ( candidate.aspect != requestState.aspect ) + { + // the aspect was resolved to something else + continue; + } + addAnimator( control, candidate, animatorHint ); storeUpdateInfo( control, candidate.aspect ); }