mirror of
https://github.com/rustdesk/rustdesk.git
synced 2026-07-22 01:44:39 +03:00
fix: wrap BackingScaleFactor in autoreleasepool to stop NSDictionary accumulation on macOS (#15623)
Signed-off-by: Viktor Kuksgauzen <vkpiar@gmail.com>
This commit is contained in:
@@ -118,16 +118,18 @@ extern "C" bool MacCheckAdminAuthorization() {
|
|||||||
|
|
||||||
// https://gist.github.com/briankc/025415e25900750f402235dbf1b74e42
|
// https://gist.github.com/briankc/025415e25900750f402235dbf1b74e42
|
||||||
extern "C" float BackingScaleFactor(uint32_t display) {
|
extern "C" float BackingScaleFactor(uint32_t display) {
|
||||||
NSArray<NSScreen *> *screens = [NSScreen screens];
|
@autoreleasepool {
|
||||||
for (NSScreen *screen in screens) {
|
NSArray<NSScreen *> *screens = [NSScreen screens];
|
||||||
NSDictionary *deviceDescription = [screen deviceDescription];
|
for (NSScreen *screen in screens) {
|
||||||
NSNumber *screenNumber = [deviceDescription objectForKey:@"NSScreenNumber"];
|
NSDictionary *deviceDescription = [screen deviceDescription];
|
||||||
CGDirectDisplayID screenDisplayID = [screenNumber unsignedIntValue];
|
NSNumber *screenNumber = [deviceDescription objectForKey:@"NSScreenNumber"];
|
||||||
if (screenDisplayID == display) {
|
CGDirectDisplayID screenDisplayID = [screenNumber unsignedIntValue];
|
||||||
return [screen backingScaleFactor];
|
if (screenDisplayID == display) {
|
||||||
|
return [screen backingScaleFactor];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
return 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://github.com/jhford/screenresolution/blob/master/cg_utils.c
|
// https://github.com/jhford/screenresolution/blob/master/cg_utils.c
|
||||||
|
|||||||
Reference in New Issue
Block a user