From: <ho...@us...> - 2013-01-18 12:24:59
|
Revision: 7913 http://skim-app.svn.sourceforge.net/skim-app/?rev=7913&view=rev Author: hofman Date: 2013-01-18 12:24:52 +0000 (Fri, 18 Jan 2013) Log Message: ----------- Don't use GCD for main thread callbacks in converter, because on 10.8 the messages are not received. Modified Paths: -------------- trunk/SKConversionProgressController.m Modified: trunk/SKConversionProgressController.m =================================================================== --- trunk/SKConversionProgressController.m 2013-01-17 16:18:48 UTC (rev 7912) +++ trunk/SKConversionProgressController.m 2013-01-18 12:24:52 UTC (rev 7913) @@ -78,21 +78,15 @@ static void PSConverterBeginDocumentCallback(void *info) { id delegate = (id)info; - if ([delegate respondsToSelector:@selector(conversionStarted)]) { - dispatch_async(dispatch_get_main_queue(), ^{ - [delegate conversionStarted]; - }); - } + if ([delegate respondsToSelector:@selector(conversionStarted)]) + [delegate performSelectorOnMainThread:@selector(conversionStarted) withObject:nil waitUntilDone:NO]; } static void PSConverterEndDocumentCallback(void *info, bool success) { id delegate = (id)info; - if ([delegate respondsToSelector:@selector(conversionCompleted)]) { - dispatch_async(dispatch_get_main_queue(), ^{ - [delegate conversionCompleted]; - }); - } + if ([delegate respondsToSelector:@selector(conversionCompleted)]) + [delegate performSelectorOnMainThread:@selector(conversionCompleted) withObject:nil waitUntilDone:NO]; } CGPSConverterCallbacks SKPSConverterCallbacks = { @@ -215,6 +209,10 @@ #pragma mark PostScript +- (void)stopModalWithResult:(NSNumber *)result { + [NSApp stopModalWithCode:[result boolValue] ? SKConversionSucceeded : SKConversionFailed]; +} + - (void)convertPostScriptData:(NSData *)psData { // pass self as info converter = CGPSConverterCreate((void *)self, &SKPSConverterCallbacks, NULL); @@ -234,9 +232,7 @@ CGDataConsumerRelease(consumer); CFRelease(pdfData); - dispatch_async(dispatch_get_main_queue(), ^{ - [NSApp stopModalWithCode:success ? SKConversionSucceeded : SKConversionFailed]; - }); + [self performSelectorOnMainThread:@selector(stopModalWithResult:) withObject:[NSNumber numberWithBool:success] waitUntilDone:NO]; }); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |