RFR: 8370637: [Windows] Crash if use Graphics after PrintJob.end [v5]

Alexander Zvegintsev azvegint at openjdk.org
Wed Nov 5 16:52:33 UTC 2025


On Wed, 5 Nov 2025 00:22:18 GMT, Phil Race <prr at openjdk.org> wrote:

>> Synchronize WPrinterJob calls which use the printDC to avoid crash in case of mis-use.
>> The printerDC is released when the job ends. 
>> It is zero-ed out in the handle in which it is stored
>> The calls which expect it to be valid now all check for zero and return if it is zero.
>> The calls are made synchronized as is the call to endDoc which zeroes it, so that they cannot have it zeroed out whilst using it.
>> 
>> The tests are the same as in the fix for JDK-8370141 which is also under review.
>> Which ever is 2nd to be pushed will have to merge in the changes from the first
>
> Phil Race has updated the pull request incrementally with one additional commit since the last revision:
> 
>   8370637

Marked as reviewed by azvegint (Reviewer).

src/java.desktop/windows/native/libawt/windows/awt_PrintJob.cpp line 2013:

> 2011:     if ((HDC)printDC == NULL) {
> 2012:          return;
> 2013:      }

Suggestion:

    if ((HDC)printDC == NULL) {
        return;
    }

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

PR Review: https://git.openjdk.org/jdk/pull/27984#pullrequestreview-3423233198
PR Review Comment: https://git.openjdk.org/jdk/pull/27984#discussion_r2495325732


More information about the client-libs-dev mailing list