On Mon, 20 Oct 2025 20:45:47 GMT, Phil Race <[email protected]> wrote:

> macOS printing uses a Quartz surface. It is the SurfaceData for a 
> CPrinterGraphics.
> That Surface is not disconnected from the graphics unless Graphics.dispose() 
> is called.
> If the application uses Graphics.create() then the implementation will not 
> Graphics.dispose() it.
> If it is used after printing is complete and the CGContext is no longer valid 
> a crash will occur.
> We need to invalidate the surface as soon as printing to a page is done.
> Note: this is Graphics.dispose(), and is unrelated to disposal of an object 
> when it becomes unreachable.

This pull request has now been integrated.

Changeset: 414e7286
Author:    Phil Race <[email protected]>
URL:       
https://git.openjdk.org/jdk/commit/414e72869895562adcea5c21ff3e7252cef5b13f
Stats:     256 lines in 5 files changed: 234 ins; 5 del; 17 mod

8370141: [macOS] Crash after PrinterJob ends when Graphics.create() is used.

Reviewed-by: serb, psadhukhan

-------------

PR: https://git.openjdk.org/jdk/pull/27905

Reply via email to