diff options
author | Oleg Yadrov <oleg.yadrov@qt.io> | 2017-02-22 12:49:49 -0800 |
---|---|---|
committer | Oleg Yadrov <oleg.yadrov@qt.io> | 2017-03-03 21:21:45 +0000 |
commit | d46afc24c177642734ed7a228fc6d3a0d7fa429f (patch) | |
tree | dd410a0d7ebbc6870a4432dee86e8b8ff2625102 /src/widgets | |
parent | 840aa67146773d36c98fbdd0c446a1076551efaa (diff) |
QMacStyle::sizeFromContents(CT_Menu): take proxy style into account
This is missed in 10d0f4cba99d2386db28a3afd71832e35992b797
Change-Id: If3566eb4b1f00f6882c290c83e10e51e1bf1d6d9
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
Diffstat (limited to 'src/widgets')
-rw-r--r-- | src/widgets/styles/qmacstyle_mac.mm | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/widgets/styles/qmacstyle_mac.mm b/src/widgets/styles/qmacstyle_mac.mm index 238e96ab4f..f23f6c00b2 100644 --- a/src/widgets/styles/qmacstyle_mac.mm +++ b/src/widgets/styles/qmacstyle_mac.mm @@ -6759,7 +6759,15 @@ QSize QMacStyle::sizeFromContents(ContentsType ct, const QStyleOption *opt, break; } case CT_Menu: { - sz = csz; + if (proxy() == this) { + sz = csz; + } else { + QStyleHintReturnMask menuMask; + QStyleOption myOption = *opt; + myOption.rect.setSize(sz); + if (proxy()->styleHint(SH_Menu_Mask, &myOption, widget, &menuMask)) + sz = menuMask.region.boundingRect().size(); + } break; } case CT_HeaderSection:{ const QStyleOptionHeader *header = qstyleoption_cast<const QStyleOptionHeader *>(opt); |