QMacStyle::sizeFromContents(CT_Menu): take proxy style into account

This is missed in 10d0f4cba9

Change-Id: If3566eb4b1f00f6882c290c83e10e51e1bf1d6d9
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
bb10
Oleg Yadrov 2017-02-22 12:49:49 -08:00
parent 840aa67146
commit d46afc24c1
1 changed files with 9 additions and 1 deletions

View File

@ -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);