diff --git a/src/controls/QskSkinnable.cpp b/src/controls/QskSkinnable.cpp index b7178399..8da2f440 100644 --- a/src/controls/QskSkinnable.cpp +++ b/src/controls/QskSkinnable.cpp @@ -759,12 +759,17 @@ void QskSkinnable::startTransition( QskAspect::Aspect aspect, m_data->animators.start( control, aspect, animationHint, from, to ); } -void QskSkinnable::setSkinStateFlag( QskAspect::State state, bool on ) +void QskSkinnable::setSkinStateFlag( QskAspect::State stateFlag, bool on ) { const auto newState = on - ? ( m_data->skinState | state ) - : ( m_data->skinState & ~state ); + ? ( m_data->skinState | stateFlag ) + : ( m_data->skinState & ~stateFlag ); + setSkinState( newState ); +} + +void QskSkinnable::setSkinState( QskAspect::State newState ) +{ if ( m_data->skinState == newState ) return; diff --git a/src/controls/QskSkinnable.h b/src/controls/QskSkinnable.h index 9d8800f2..eec9c6d2 100644 --- a/src/controls/QskSkinnable.h +++ b/src/controls/QskSkinnable.h @@ -154,7 +154,9 @@ class QSK_EXPORT QskSkinnable void debug( QDebug, QskAspect::State ) const; protected: + void setSkinState( QskAspect::State ); void setSkinStateFlag( QskAspect::State, bool = true ); + virtual void updateNode( QSGNode* ); virtual bool isTransitionAccepted( QskAspect::Aspect ) const;