From 6beabfcbb103a3bffd422c77f20faf67324e0f3d Mon Sep 17 00:00:00 2001 From: Clemens Manert Date: Sat, 25 Feb 2023 22:24:39 +0100 Subject: [PATCH] Return empty Rect if item is empty --- src/controls/QskRadioBox.cpp | 4 ++++ src/controls/QskRadioBoxSkinlet.cpp | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/src/controls/QskRadioBox.cpp b/src/controls/QskRadioBox.cpp index 64a46138..cff5d29b 100644 --- a/src/controls/QskRadioBox.cpp +++ b/src/controls/QskRadioBox.cpp @@ -69,6 +69,10 @@ QRectF QskRadioBox::focusIndicatorRect() const { auto buttonRect = effectiveSkinlet()->sampleRect( this, contentsRect(), QskRadioBox::Button, m_data->focusedIndex ); + if( textRect == QRectF() ) { + return buttonRect; + } + auto result = QRectF( qMin( textRect.x(), buttonRect.x() ), qMin( textRect.y(), buttonRect.y() ), diff --git a/src/controls/QskRadioBoxSkinlet.cpp b/src/controls/QskRadioBoxSkinlet.cpp index 620034a1..18091e1c 100644 --- a/src/controls/QskRadioBoxSkinlet.cpp +++ b/src/controls/QskRadioBoxSkinlet.cpp @@ -158,6 +158,12 @@ QRectF QskRadioBoxSkinlet::buttonRect( const QskRadioBox* radio, QRectF QskRadioBoxSkinlet::textRect( const QskRadioBox* radio, const QRectF& rect, int index ) const { + auto text = radio->items()[index]; + + if(text.isEmpty()) { + return QRectF(); + } + QRectF result = rect; auto spacing = radio->spacingHint(Q::Panel); auto lh = lineHeight( radio );