From a0f80749e171218ca5a5dc102ae9c94361a82cbb Mon Sep 17 00:00:00 2001 From: Uwe Rathmann Date: Fri, 14 Mar 2025 10:30:17 +0100 Subject: [PATCH] missing margins subtraction added --- src/controls/QskSkinlet.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/controls/QskSkinlet.cpp b/src/controls/QskSkinlet.cpp index ae79be86..d4d26ca5 100644 --- a/src/controls/QskSkinlet.cpp +++ b/src/controls/QskSkinlet.cpp @@ -415,12 +415,14 @@ void QskSkinlet::replaceChildNode( quint8 role, QSGNode* QskSkinlet::updateBoxNode( const QskSkinnable* skinnable, QSGNode* node, QskAspect::Subcontrol subControl ) const { - const auto rect = qskSubControlRect( this, skinnable, subControl ); - if ( rect.isEmpty() ) + auto r = qskSubControlRect( this, skinnable, subControl ); + if ( r.isEmpty() ) return nullptr; + r = r.marginsRemoved( skinnable->marginHint( subControl ) ); + return qskUpdateBoxNode( skinnable, node, - rect, skinnable->boxHints( subControl ) ); + r, skinnable->boxHints( subControl ) ); } QSGNode* QskSkinlet::updateBoxNode( const QskSkinnable* skinnable, @@ -429,8 +431,8 @@ QSGNode* QskSkinlet::updateBoxNode( const QskSkinnable* skinnable, if ( rect.isEmpty() ) return nullptr; - const auto hints = skinnable->boxHints( subControl ); - return qskUpdateBoxNode( skinnable, node, rect, hints ); + const auto r = rect.marginsRemoved( skinnable->marginHint( subControl ) ); + return qskUpdateBoxNode( skinnable, node, r, skinnable->boxHints( subControl ) ); } QSGNode* QskSkinlet::updateBoxNode( const QskSkinnable* skinnable,