[Bug 52354] winemac.drv not functional on non metal GPUs

WineHQ Bugzilla wine-bugs at winehq.org
Sat Apr 30 16:23:11 CDT 2022


https://bugs.winehq.org/show_bug.cgi?id=52354

--- Comment #20 from Charles Davis <cdavis5x at gmail.com> ---
(In reply to Gcenx from comment #17)
> I've tried to compile wine-7.0 with this patch but winemac.drv fails.
> 
> 
> Firstly needed to use at least MacOSX10.12.sdk due to
> 
> 
> :info:build
> /opt/local/var/macports/build/_Users_gcenx_ports_x11_wine-stable/wine-stable/
> work/wine-wine-7.0/dlls/winemac.drv/cocoa_window.m:348:44: error: cannot
> find protocol declaration for 'CALayerDelegate'; did you mean
> 'NSDrawerDelegate'?

For macOS less than 10.13, we'll need to define the formerly-informal
CALayerDelegate protocol ourselves: the formal protocol wasn't added to the SDK
until then. Much like how we have to define NSViewLayerContentScaleDelegate
ourselves for macOS less than 10.14.

> 
> 
> Even using MacOSX10.13.SDK the build winemac.drv also fails
> 
> 
> :info:build dlls/winemac.drv/cocoa_window.m:476:37: error: sending 'CGRect'
> (aka 'struct CGRect') to parameter of incompatible type 'NSRect' (aka
> 'struct _NSRect')
> :info:build         self = [super initWithFrame:frame];
> :info:build                                     ^~~~~
> :info:build
> /opt/local/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AppKit.
> framework/Headers/NSView.h:130:39: note: passing argument to parameter
> 'frameRect' here
> :info:build - (instancetype)initWithFrame:(NSRect)frameRect
> NS_DESIGNATED_INITIALIZER;
> :info:build                                       ^
> :info:build dlls/winemac.drv/cocoa_window.m:523:47: error: sending 'NSRect'
> (aka 'struct _NSRect') to parameter of incompatible type 'CGRect' (aka
> 'struct CGRect')
> :info:build             [self.layer setNeedsDisplayInRect:[self
> convertRectToLayer:rect]];

This will be a problem no matter what SDK is used. On i386, NSRect is not a
typedef for CGRect.

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list