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

Phil Race prr at openjdk.org
Fri Oct 24 18:35:27 UTC 2025


> 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.

Phil Race has updated the pull request incrementally with one additional commit since the last revision:

  8370141

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/27905/files
  - new: https://git.openjdk.org/jdk/pull/27905/files/a5af40a2..cba82e10

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=27905&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=27905&range=00-01

  Stats: 136 lines in 5 files changed: 94 ins; 1 del; 41 mod
  Patch: https://git.openjdk.org/jdk/pull/27905.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/27905/head:pull/27905

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


More information about the client-libs-dev mailing list