diff --git a/src/controls/QskSkinnable.cpp b/src/controls/QskSkinnable.cpp index 4376d848..d997bf96 100644 --- a/src/controls/QskSkinnable.cpp +++ b/src/controls/QskSkinnable.cpp @@ -561,7 +561,7 @@ bool QskSkinnable::resetHint( QskAspect::Aspect aspect ) a.setPlacement( effectivePlacement() ); if ( a.state() == QskAspect::NoState ) - a = a | skinState(); + a.setState( skinState() ); const auto oldHint = storedHint( a ); @@ -573,18 +573,20 @@ bool QskSkinnable::resetHint( QskAspect::Aspect aspect ) QVariant QskSkinnable::effectiveHint( QskAspect::Aspect aspect, QskSkinHintStatus* status ) const { - aspect.setSubControl( effectiveSubcontrol( aspect.subControl() ) ); + if ( const auto subControl = aspect.subControl() ) + aspect.setSubControl( effectiveSubcontrol( subControl ) ); + aspect.setPlacement( effectivePlacement() ); if ( aspect.isAnimator() ) return storedHint( aspect, status ); - const QVariant v = animatedValue( aspect, status ); + const auto v = animatedValue( aspect, status ); if ( v.isValid() ) return v; if ( aspect.state() == QskAspect::NoState ) - aspect = aspect | skinState(); + aspect.setState( skinState() ); return storedHint( aspect, status ); } @@ -1042,6 +1044,11 @@ QskSkin* QskSkinnable::effectiveSkin() const return skin ? skin : qskSetup->skin(); } +QskAspect::Placement QskSkinnable::effectivePlacement() const +{ + return QskAspect::NoPlacement; +} + void QskSkinnable::updateNode( QSGNode* parentNode ) { effectiveSkinlet()->updateNode( this, parentNode ); diff --git a/src/controls/QskSkinnable.h b/src/controls/QskSkinnable.h index 463100ca..5ccbc672 100644 --- a/src/controls/QskSkinnable.h +++ b/src/controls/QskSkinnable.h @@ -221,11 +221,6 @@ inline Qt::Alignment QskSkinnable::alignmentHint( return flagHint< Qt::Alignment >( aspect | QskAspect::Alignment, defaultAlignment ); } -inline QskAspect::Placement QskSkinnable::effectivePlacement() const -{ - return QskAspect::NoPlacement; -} - inline bool QskSkinnable::resetColor( QskAspect::Aspect aspect ) { return resetHint( aspect | QskAspect::Color );