diff --git a/src/common/QskIntervalF.h b/src/common/QskIntervalF.h index aa21e1f7..f8295a97 100644 --- a/src/common/QskIntervalF.h +++ b/src/common/QskIntervalF.h @@ -113,7 +113,7 @@ inline constexpr qreal QskIntervalF::upperBound() const noexcept inline constexpr qreal QskIntervalF::width() const noexcept { - return ( m_upperBound > m_lowerBound ) ? m_upperBound - m_upperBound : 0.0; + return ( m_upperBound > m_lowerBound ) ? ( m_upperBound - m_lowerBound ) : 0.0; } inline void QskIntervalF::setWidth( qreal width ) noexcept diff --git a/src/controls/QskPageIndicatorSkinlet.cpp b/src/controls/QskPageIndicatorSkinlet.cpp index 275e1324..f7bea195 100644 --- a/src/controls/QskPageIndicatorSkinlet.cpp +++ b/src/controls/QskPageIndicatorSkinlet.cpp @@ -162,12 +162,7 @@ QSGNode* QskPageIndicatorSkinlet::updateBulletsNode( } // if count has decreased we need to remove superfluous nodes - while ( bulletNode->nextSibling() != nullptr ) - { - auto sibling = bulletNode->nextSibling(); - node->removeChildNode( sibling ); - delete sibling; - } + removeTraillingNodes( node, bulletNode ); return node; } diff --git a/src/controls/QskSkinlet.cpp b/src/controls/QskSkinlet.cpp index 6f27cdf0..40fb0d4c 100644 --- a/src/controls/QskSkinlet.cpp +++ b/src/controls/QskSkinlet.cpp @@ -377,6 +377,18 @@ void QskSkinlet::insertNodeSorted( QSGNode* node, QSGNode* parentNode ) const parentNode->prependChildNode( node ); } +void QskSkinlet::removeTraillingNodes( QSGNode* node, QSGNode* child ) +{ + if ( node && child ) + { + while ( auto sibling = child->nextSibling() ) + { + node->removeChildNode( sibling ); + delete sibling; + } + } +} + void QskSkinlet::setNodeRole( QSGNode* node, quint8 nodeRole ) { qskSetRole( nodeRole, node ); diff --git a/src/controls/QskSkinlet.h b/src/controls/QskSkinlet.h index b717286d..e44be0c6 100644 --- a/src/controls/QskSkinlet.h +++ b/src/controls/QskSkinlet.h @@ -49,6 +49,7 @@ class QSK_EXPORT QskSkinlet static void setNodeRole( QSGNode* node, quint8 nodeRole ); static quint8 nodeRole( const QSGNode* node ); + static void removeTraillingNodes( QSGNode* node, QSGNode* child ); static QSGNode* findNodeByRole( QSGNode* parent, quint8 nodeRole );