Brendan Shanks (@bshanks) commented about dlls/winemac.drv/cocoa_display.m:
return len;
- result = IOServiceGetMatchingServices(0, IOServiceMatching("DCPAVServiceProxy"), &iterator);
- if (result != KERN_SUCCESS)
return len;
- while((service = IOIteratorNext(iterator)))
- {
uint32_t vendor_number, model_number, serial_number;
const unsigned char *edid_ptr;
IOAVServiceRef avservice;
CFDataRef edid = NULL;
IOReturn edid_result;
avservice = pIOAVServiceCreateWithService(kCFAllocatorDefault, service);
if (!avservice)
You should be able to call `IOObjectRelease(service)` right after `IOAVServiceCreateWithService` (regardless of whether IOAVServiceCreateWithService succeeds or not), then you avoid having to call `IOObjectRelease(service)` later in the function.
Same with `avservice` also.