See comments below: > > In my TestDocument (subclass of NSDocument) I added the following code (see > comments inside, which explain what's happening when I do File â∫‚ Print...): > > > - (NSPrintOperation *)printOperationWithSettings:(NSDictionary > *)printSettings error:(NSError **)outError > { > NSLog(@"%s printSettings %@, outError %p",__FUNCTION__, printSettings, > outError); > // -[TestDocument printOperationWithSettings:error:] > printSettings {}, outError 0x7fff5fbfed38 > > NSPrintInfo *pi = [ self printInfo ]; > NSLog(@"%s printInfo %@",__FUNCTION__, pi); > #if 0 > -[TestDocument printOperationWithSettings:error:] printInfo > { > NSBottomMargin = 90; > NSCopies = 1; > NSDetailedErrorReporting = 0; > [...] > NSVerticalPagination = 0; > NSVerticallyCentered = 1; > } > #endif > > NSPrintOperation *op = [ NSPrintOperation printOperationWithView: > textView printInfo: pi ]; > NSLog(@"%s NSPrintOperation %@ - now run modal",__FUNCTION__, op); > // NSPrintOperation <NSConcretePrintOperation: 0x1003b8900> - now > run modal > > [ self runModalPrintOperation: op > delegate: nil > didRunSelector: NULL > contextInfo: NULL > ];
When I remove the call above (runModalPrintOperation...) then it prints ok. The documentation says: "Overrides of printShowingPrintPanel: can invoke this method." Is this a documentation error, and it should be: "Overrides of printShowingPrintPanel: prior to Lion can invoke this method. In Lion it should NOT be used." ? Or am I just confused? > NSLog(@"%s will return %@",__FUNCTION__, op); // â∫∆ never comes > to here > // and also no PrintPanel is shown. > // if paused, we get this bt: > #if 0 > #0 0x00007fff8e21e08e in _dispatch_semaphore_wait_slow () > #1 0x00007fff8eb8a616 in -[NSDocument > performActivityWithSynchronousWaiting:usingBlock:] () > #2 0x00007fff8eb7a518 in -[NSDocument > runModalPrintOperation:delegate:didRunSelector:contextInfo:] () > #3 0x0000000100001a2d in -[TestDocument > printOperationWithSettings:error:] (self=0x10013e1e0, _cmd=0x7fff8f081f50, > printSettings=0x1001161e0, outError=0x7fff5fbfed38) at TestDocument.m:274 > #endif > > return op; > } > > This code above is taken from some other app, which prints just fine in > SnowLeopard (but also hangs in Lion). > > What am I doing wrong? > Why is there no PrintPanel shown? Why does it just block? > > Kind regards, > > Gerriet. > _______________________________________________ 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: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com