Fix 32-bit build on macOS

Some customers still need this for interoperability with legacy code.
Let's continue to keep it working in 5.9.x, and then move to
64-bit exclusive features (thus dropping 32-bit entirely) in 5.10.

Task-number: QTBUG-58401
Change-Id: Ibb7200c1885e9caba70439df5f7c86c81b1312b5
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
bb10
Jake Petroules 2017-07-19 16:07:34 -07:00
parent 548c2fbb3a
commit 922e410ebb
4 changed files with 17 additions and 7 deletions

View File

@ -167,7 +167,12 @@ QT_END_NAMESPACE
- (void)onCancelClicked;
@end
@interface QT_MANGLE_NAMESPACE(QNSPanelContentsWrapper) : NSView
@interface QT_MANGLE_NAMESPACE(QNSPanelContentsWrapper) : NSView {
NSButton *_okButton;
NSButton *_cancelButton;
NSView *_panelContents;
NSEdgeInsets _panelContentsMargins;
}
@property (nonatomic, readonly) NSButton *okButton;
@property (nonatomic, readonly) NSButton *cancelButton;

View File

@ -303,6 +303,11 @@ QT_END_NAMESPACE
*/
@implementation QNSPanelContentsWrapper
@synthesize okButton = _okButton;
@synthesize cancelButton = _cancelButton;
@synthesize panelContents = _panelContents;
@synthesize panelContentsMargins = _panelContentsMargins;
- (instancetype)initWithPanelDelegate:(id<QT_MANGLE_NAMESPACE(QNSPanelDelegate)>)panelDelegate
{
if ((self = [super initWithFrame:NSZeroRect])) {

View File

@ -75,7 +75,7 @@
// window.screen.visibleFrame directly, as that ensures we have the same
// behavior for both use-cases/APIs.
Q_ASSERT(window == m_cocoaWindow->nativeWindow());
return m_cocoaWindow->screen()->availableGeometry().toCGRect();
return NSRectFromCGRect(m_cocoaWindow->screen()->availableGeometry().toCGRect());
}
#if QT_MACOS_DEPLOYMENT_TARGET_BELOW(__MAC_10_11)
@ -90,7 +90,7 @@
{
Q_UNUSED(proposedSize);
Q_ASSERT(window == m_cocoaWindow->nativeWindow());
return m_cocoaWindow->screen()->geometry().size().toCGSize();
return NSSizeFromCGSize(m_cocoaWindow->screen()->geometry().size().toCGSize());
}
#endif

View File

@ -1018,17 +1018,17 @@ void QMacStylePrivate::drawFocusRing(QPainter *p, const QRect &targetRect, int h
NSBezierPath *focusRingPath;
if (radius > 0) {
const CGFloat roundedRectInset = -1.5;
focusRingPath = [NSBezierPath bezierPathWithRoundedRect:CGRectInset(focusRingRect, roundedRectInset, roundedRectInset)
focusRingPath = [NSBezierPath bezierPathWithRoundedRect:NSRectFromCGRect(CGRectInset(focusRingRect, roundedRectInset, roundedRectInset))
xRadius:radius
yRadius:radius];
} else {
const CGFloat outerClipInset = -focusRingWidth / 2;
NSBezierPath *focusRingClipPath = [NSBezierPath bezierPathWithRect:CGRectInset(focusRingRect, outerClipInset, outerClipInset)];
NSBezierPath *focusRingClipPath = [NSBezierPath bezierPathWithRect:NSRectFromCGRect(CGRectInset(focusRingRect, outerClipInset, outerClipInset))];
const CGFloat innerClipInset = 1;
NSBezierPath *focusRingInnerClipPath = [NSBezierPath bezierPathWithRect:CGRectInset(focusRingRect, innerClipInset, innerClipInset)];
NSBezierPath *focusRingInnerClipPath = [NSBezierPath bezierPathWithRect:NSRectFromCGRect(CGRectInset(focusRingRect, innerClipInset, innerClipInset))];
[focusRingClipPath appendBezierPath:focusRingInnerClipPath.bezierPathByReversingPath];
[focusRingClipPath setClip];
focusRingPath = [NSBezierPath bezierPathWithRect:focusRingRect];
focusRingPath = [NSBezierPath bezierPathWithRect:NSRectFromCGRect(focusRingRect)];
focusRingPath.lineJoinStyle = NSRoundLineJoinStyle;
}