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 ([email protected])
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 [email protected]