diff options
-rw-r--r-- | src/gui/styles/qmacstyle_mac.mm | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gui/styles/qmacstyle_mac.mm b/src/gui/styles/qmacstyle_mac.mm index 8d6b593..b2923f6 100644 --- a/src/gui/styles/qmacstyle_mac.mm +++ b/src/gui/styles/qmacstyle_mac.mm @@ -1020,6 +1020,13 @@ HIRect QMacStylePrivate::pushButtonContentBounds(const QStyleOptionButton *btn, HIRect contentBounds; HIThemeGetButtonContentBounds(&outerBounds, bdi, &contentBounds); + + // Return the button rect if the rect returned by HIThemeGetButtonContentBounds + // is invalid. This avoids passing around bad rects to code that does not expect it. + if (contentBounds.size.height == 0 && contentBounds.size.width == 0) { + return qt_hirectForQRect(btn->rect); + } + return contentBounds; } |