[PATCH] winemac.drv: Don't fail GPU detection if some IOKit properties are missing.
Brendan Shanks
bshanks at codeweavers.com
Tue Sep 8 18:10:32 CDT 2020
Fixes GPU detection when running in VMware Fusion, where the GPU entry
lacks a "model" property.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49774
Signed-off-by: Brendan Shanks <bshanks at codeweavers.com>
---
dlls/winemac.drv/cocoa_display.m | 17 +++++++----------
1 file changed, 7 insertions(+), 10 deletions(-)
diff --git a/dlls/winemac.drv/cocoa_display.m b/dlls/winemac.drv/cocoa_display.m
index 9d95eee99a9..e769772feaa 100644
--- a/dlls/winemac.drv/cocoa_display.m
+++ b/dlls/winemac.drv/cocoa_display.m
@@ -215,18 +215,15 @@ static int macdrv_get_gpu_info_from_entry(struct macdrv_gpu* gpu, io_registry_en
if (IORegistryEntryGetRegistryEntryID(gpu_entry, &gpu->id) != kIOReturnSuccess)
goto done;
- if (get_entry_property_uint32(gpu_entry, CFSTR("vendor-id"), &gpu->vendor_id))
- goto done;
- if (get_entry_property_uint32(gpu_entry, CFSTR("device-id"), &gpu->device_id))
- goto done;
- if (get_entry_property_uint32(gpu_entry, CFSTR("subsystem-id"), &gpu->subsys_id))
- goto done;
- if (get_entry_property_uint32(gpu_entry, CFSTR("revision-id"), &gpu->revision_id))
- goto done;
- if (get_entry_property_string(gpu_entry, CFSTR("model"), gpu->name, sizeof(gpu->name)))
- goto done;
ret = 0;
+
+ get_entry_property_uint32(gpu_entry, CFSTR("vendor-id"), &gpu->vendor_id);
+ get_entry_property_uint32(gpu_entry, CFSTR("device-id"), &gpu->device_id);
+ get_entry_property_uint32(gpu_entry, CFSTR("subsystem-id"), &gpu->subsys_id);
+ get_entry_property_uint32(gpu_entry, CFSTR("revision-id"), &gpu->revision_id);
+ get_entry_property_string(gpu_entry, CFSTR("model"), gpu->name, sizeof(gpu->name));
+
done:
if (gpu_entry != entry)
IOObjectRelease(gpu_entry);
--
2.26.2
More information about the wine-devel
mailing list