Would the bug here, then, be that alerts don't check for this edge case? Patryk: I'd merge a pull request that makes -[NSAlert runModal] check for an active runloop.
On Tue, Nov 19, 2019 at 5:49 PM Gregory Casamento <greg.casame...@gmail.com> wrote: > > Running modal panels requires the application run loop to be active. > You're not doing that. I suggest you take a look at some of the application > examples for how to do what you want here. > > On Tue, Nov 19, 2019, 10:34 AM Patryk Laurent <plaur...@me.com> wrote: >> >> >> > On Nov 18, 2019, at 09:16, Wolfgang Lux <wolfgang....@gmail.com> wrote: >> > >> >> Am 18.11.2019 um 04:43 schrieb Patryk Laurent <plaur...@me.com>: >> >> “Uncaught exception NSInternalInconsistencyException, reason: >> >> registration with registered client.” >> > >> > The error message itself is coming from NSDistributedNotificationCenter >> > and it looks like it's caused by a race condition when two threads in your >> > program are adding an observer to the distribution notification center at >> > about the same time. >> >> Thanks, Wolfgang. I find this surprising because my program is minimal >> (source code below). I wasn’t getting this before, will look for what has >> changed... >> >> Patryk >> >> #import <AppKit/AppKit.h> >> >> int main() >> { >> NSApplication *app; >> app = [NSApplication sharedApplication]; >> >> NSAlert * alert = [[NSAlert alloc] init]; >> [alert setMessageText:@"Hello alert"]; >> [alert addButtonWithTitle:@"All done"]; >> int result = [alert runModal]; >> if (result == NSAlertFirstButtonReturn) { >> NSLog(@"First button pressed"); >> } >> } >> >> >> >> >> >>