summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorOleg Yadrov <oleg.yadrov@qt.io>2017-02-22 12:49:49 -0800
committerOleg Yadrov <oleg.yadrov@qt.io>2017-03-03 21:21:45 +0000
commitd46afc24c177642734ed7a228fc6d3a0d7fa429f (patch)
treedd410a0d7ebbc6870a4432dee86e8b8ff2625102 /src
parent840aa67146773d36c98fbdd0c446a1076551efaa (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')
-rw-r--r--src/widgets/styles/qmacstyle_mac.mm10
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);