|
From: | Fred Kiefer |
Subject: | Re: Printing with xlib & art backend |
Date: | Sat, 06 Jul 2013 14:05:38 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130510 Thunderbird/17.0.6 |
On 06.07.2013 00:57, Riccardo Mottola wrote:
Hi, I think this has mostly to do with Eric's optimisations about 2 years ago. Riccardo Mottola wrote:Printing error: <NSException: 0x84762e4> NAME:NSInvalidArgumentException REASON:[GSStreamContext-GSDefineGState] not implemented INFO:(null)GSStreamContexts does not implement GSDefineGState explicitely, throwing an exception. During Eric's refactor, a lot of code was moved from NSImage to NSImageRep, but also PS operation were substituted with DPS operation, which do require gState though. Thus my educated guess is that printing images is broken since that time except on cairo I had the idea of using supportsDrawingGState to skip, but it is incorrect and it will break, as then DPSComposite doesn't work. Ideas?
I most admit that I don't fully understand the issue here. We never supported GSDefineGState in GSStreamContext and this would have always resulted in an exception when called. Which is one of the known limitation of that code and a reason why we have to drop support for all these backends in the near future.
Eric's change should, as far as I see only call GSDefineGState if the context has supportsDrawingGState return YES. Which should only be true for the cairo and the windows backend. I don't see how you should ever end up there for the art or xlib backend. Could you please provide me with a back trace of the stack, when this happens?
[Prev in Thread] | Current Thread | [Next in Thread] |