diff options
Diffstat (limited to 'src/widgets/styles/qstylesheetstyle.cpp')
-rw-r--r-- | src/widgets/styles/qstylesheetstyle.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/widgets/styles/qstylesheetstyle.cpp b/src/widgets/styles/qstylesheetstyle.cpp index e53b81b292..472d3c05db 100644 --- a/src/widgets/styles/qstylesheetstyle.cpp +++ b/src/widgets/styles/qstylesheetstyle.cpp @@ -5840,8 +5840,11 @@ QRect QStyleSheetStyle::subElementRect(SubElement se, const QStyleOption *opt, c case SE_PushButtonBevel: case SE_PushButtonFocusRect: if (const QStyleOptionButton *btn = qstyleoption_cast<const QStyleOptionButton *>(opt)) { - if (rule.hasBox() || !rule.hasNativeBorder()) - return visualRect(opt->direction, opt->rect, rule.contentsRect(opt->rect)); + if (rule.hasBox() || !rule.hasNativeBorder()) { + return visualRect(opt->direction, opt->rect, se == SE_PushButtonBevel + ? rule.borderRect(opt->rect) + : rule.contentsRect(opt->rect)); + } return rule.baseStyleCanDraw() ? baseStyle()->subElementRect(se, btn, w) : QWindowsStyle::subElementRect(se, btn, w); } |