• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: why does print block in Lion?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: why does print block in Lion?


  • Subject: Re: why does print block in Lion?
  • From: "Gerriet M. Denkmann" <email@hidden>
  • Date: Sat, 17 Sep 2011 20:02:09 +0700

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@hidden)

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:

This email sent to email@hidden

  • Follow-Ups:
    • Re: why does print block in Lion?
      • From: Michael Babin <email@hidden>
  • Prev by Date: why does print block in Lion?
  • Next by Date: Re: sheet not receiving all events?
  • Previous by thread: why does print block in Lion?
  • Next by thread: Re: why does print block in Lion?
  • Index(es):
    • Date
    • Thread