Утечка памяти после вызова CGMainDisplayID - PullRequest
0 голосов
/ 04 августа 2020

В чистом приложении macos c ++ я запрашиваю доступные мониторы с помощью простого l oop

    CGDirectDisplayID mainID = CGMainDisplayID();
    
    uint32 displayCount = 0;
    CGDirectDisplayID displays[8];
    CGGetActiveDisplayList(8, displays.Buffer(), &displayCount);
    
    for (int i = 0, e = displayCount; i < e; ++i)
    {
        CGDirectDisplayID id = displays[i];
        int width = CGDisplayPixelsWide(id)
        int height = CGDisplayPixelsHigh(id));
        ...
    }

Я фиксирую и сообщаю обо всех выделениях, которые я могу, и после запуска своего приложения я получаю распределения, указанные в следующем стеке и многих других похожих стеках:

CGSInternalRegisterNotifyProc in /System/Library/PrivateFrameworks/SkyLight.framework/Versions/A/SkyLight @ 0X7FFF5B730000(+0X15B3)
__SLSInitialize_block_invoke in /System/Library/PrivateFrameworks/SkyLight.framework/Versions/A/SkyLight @ 0X7FFF5B730000(+0X15E147)
_dispatch_client_callout in /usr/lib/system/libdispatch.dylib @ 0X7FFF619C2000(+0X1DB0)
dispatch_once_f in /usr/lib/system/libdispatch.dylib @ 0X7FFF619C2000(+0X1D42)
SLSMainDisplayID in /System/Library/PrivateFrameworks/SkyLight.framework/Versions/A/SkyLight @ 0X7FFF5B730000(+0X1C6C05)

Что мне не хватает для создания чистого консольного приложения MacOS? Есть ли какая-то функция очистки, которую я могу вызвать, или какая-то очередь событий, которая мне нужна для гриппа sh?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...