diff --git a/src/platform/macos.mm b/src/platform/macos.mm index 3303855a6..d4038da8e 100644 --- a/src/platform/macos.mm +++ b/src/platform/macos.mm @@ -118,16 +118,18 @@ extern "C" bool MacCheckAdminAuthorization() { // https://gist.github.com/briankc/025415e25900750f402235dbf1b74e42 extern "C" float BackingScaleFactor(uint32_t display) { - NSArray *screens = [NSScreen screens]; - for (NSScreen *screen in screens) { - NSDictionary *deviceDescription = [screen deviceDescription]; - NSNumber *screenNumber = [deviceDescription objectForKey:@"NSScreenNumber"]; - CGDirectDisplayID screenDisplayID = [screenNumber unsignedIntValue]; - if (screenDisplayID == display) { - return [screen backingScaleFactor]; + @autoreleasepool { + NSArray *screens = [NSScreen screens]; + for (NSScreen *screen in screens) { + NSDictionary *deviceDescription = [screen deviceDescription]; + NSNumber *screenNumber = [deviceDescription objectForKey:@"NSScreenNumber"]; + CGDirectDisplayID screenDisplayID = [screenNumber unsignedIntValue]; + if (screenDisplayID == display) { + return [screen backingScaleFactor]; + } } + return 1; } - return 1; } // https://github.com/jhford/screenresolution/blob/master/cg_utils.c