Ошибки NSStatusItem "kCG ..." - PullRequest
       4

Ошибки NSStatusItem "kCG ..."

1 голос
/ 30 марта 2011

Почему-то в консоли я получаю

: kCGErrorIllegalArgument: CGSUnregisterWindowWithSystemStatusBar: Неверное окно

: kCGErrorFailure: установить точка останова @ CGErrorBreakpoint () для отлавливать ошибки по мере их регистрации.

с (я думаю) этим кодом ...

- (void)applicationDidResignActive:(NSNotification*)aNotification
{
        statusItem = [[NSStatusBar systemStatusBar] 
                       statusItemWithLength:NSVariableStatusItemLength];
        [statusItem setHighlightMode:YES];
        [statusItem setEnabled:YES];

            //Set menubar item's tooltip
        [statusItem setToolTip:@"Nucleus"];
        [statusItem setMenu:theMenu];
            //Set the menubar item's title
        [statusItem setTitle:[NSString stringWithString:@"N"]];

    [statusItem retain];

}

- (void)applicationDidBecomeActive:(NSNotification*)aNotification
{
    [[NSStatusBar systemStatusBar] removeStatusItem:statusItem];
}

Я считаю, что это трассировка стека (?):

0x00007fff8667349b <+0000> push% rbp
0x00007fff8667349c <+0001> mov% rsp,% rbp
0x00007fff8667349f <+0004> mov% edi,% eax
0x00007fff866734a1 <+0006> оставитьq
0x00007fff866734a2 <+0007> retq
0x00007fff866734a3 <+0008> nop

Почему? Как я могу это исправить?

Я использую Какао на Mac?

1 Ответ

0 голосов
/ 30 марта 2011

Я не уверен, что является причиной ошибки, но я заметил, что вы пропускаете statusItem каждый раз, когда приложение деактивируется. Возможно, добавление [statusItem release] после удаления его из строки состояния поможет (это определенно исправит вашу утечку).

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