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
