StyleSheetStyle: Don't paint CE_ComboBoxLabel when no stylesheet is set

Don't paint through stylesheet code when a combobox label has no
stylesheet set at all.
This should be done also for others but may break existing painting
stuff so only fix this here as it's a regression from
a77a7c157d5cdcc88bf0a02caed2aa5ff8850d06.

Pick-to: 6.8
Task-number: QTBUG-131761
Fixes: QTBUG-137108
Change-Id: I462ba198821692aa60e6869df9c8e92332422c44
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
(cherry picked from commit db07a0387497cc56d4c3a82bbbc2150ec19d2e96)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit eae538fa065ea3b3175f593bd37a9f420ee8727f)
This commit is contained in:
Christian Ehrlicher 2025-06-01 20:50:07 +02:00 committed by Qt Cherry-pick Bot
parent adeb6090a0
commit e2bfcd58ef

View File

@ -4067,6 +4067,8 @@ void QStyleSheetStyle::drawControl(ControlElement ce, const QStyleOption *opt, Q
#if QT_CONFIG(combobox)
case CE_ComboBoxLabel:
if (!rule.hasDrawable())
break;
if (const QStyleOptionComboBox *cb = qstyleoption_cast<const QStyleOptionComboBox *>(opt)) {
QRect editRect = subControlRect(CC_ComboBox, cb, SC_ComboBoxEditField, w);
p->save();