> On Aug 27, 2014, at 8:43 AM, edward taffel <etaf...@me.com> wrote: > > >> On Aug 27, 2014, at 11:30 AM, Matthew LeRoy <mle...@minitab.com> wrote: >> This seems to work in initial testing — the alert displays — but I get a >> message in the console telling me that “NSAlert is being used from a >> background thread, which is not safe. This is probably going to crash >> sometimes. …” Presumably this is because I have overridden >> +canConcurrentlyReadDocumentsOfType: to return YES for my documents, >> resulting in document reading happening on a background thread. Changing >> +canConcurrentlyReadDocumentsOfType: to return NO makes the warning message >> go away. > > i had this problem too: you can show the alert on the main thread via e.g. > performSelectorOnMainThread. (as was kindly pointed out to me by, if i > remember correctly, graham cox).
I would not advise this. The main thread may itself be blocked due to waiting on your document via -performSychronousFileAccesdUsingBlock:. Matthew, could you perhaps perform automatic conversion, mark the document as untitled, and display a notice about automatic conversion once the document has been asked to -showWindows? This is the strategy I’ve suggested implementing in our own apps in the future. Something like: - initWithContentsOfURL:… { self = [super initWithContentsOfURL:…]; if (_autoConverted) [self setDraft:YES]; return self; } - showWindows { [super showWindows]; if (_autoConverted) { NSAlert *autoConversionAlert = …; NSWindow *docWindow = self.windowControllers[0].window; [alert beginSheetModalForWindow:window completionHandler:…]; } --Kyle Sluder _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com