On Wed, 10 Apr 2024 04:43:29 GMT, Tejesh R <[email protected]> wrote:
>> Fix suggested in bug
>> [8210807](https://github.com/openjdk/jdk/commit/38bbbe7588c94d3a0edd1c120ba49cbd0851a720)
>> had a regression in Nimbus L&F yet it resolved the issue in other L&F. The
>> better approach would be to handle `MultiResolutionImages `in `PathGraphics`
>> class `getBufferedImage` method and is suggested here. The fix doesn't cause
>> any regression and is verified in CI system. The test
>> javax/swing/JTable/JTableScrollPrintTest.java is verified for all platforms
>> and all L&F (Except in Windows it doesn't work due an issue
>> ([JDK-8322135](https://bugs.openjdk.org/browse/JDK-8322135)) introduced in
>> 22, yet to investigate on it). And also fix
>> [8210807](https://github.com/openjdk/jdk/commit/38bbbe7588c94d3a0edd1c120ba49cbd0851a720)
>> has been reverted, retaining the test.
>
> Tejesh R has updated the pull request with a new target base due to a merge
> or a rebase. The incremental webrev excludes the unrelated changes brought in
> by the merge/rebase. The pull request contains five additional commits since
> the last revision:
>
> - Copywrite year updated
> - Merge branch 'master' of https://git.openjdk.java.net/jdk into
> branch_8322140
> - Spacing updates
> - Updated test with BugID and copyright year
> - Fix + Revert 8210807
src/java.desktop/share/classes/sun/print/PathGraphics.java line 1149:
> 1147: }
> 1148:
> 1149: public static BufferedImage
> convertToBufferedImage(MultiResolutionImage multiResolutionImage,
Probably the method should be declared as either `private` or `protected`, as
adding a `public` method may need a CSR.
May not require to declare it as `static` too.
src/java.desktop/share/classes/sun/print/PathGraphics.java line 1155:
> 1153:
> resolutionImage.getHeight(null),
> 1154:
> BufferedImage.TYPE_INT_ARGB);
> 1155: Graphics2D g2d = bufferedImage.createGraphics();
Should we dispose the Graphics2D obj ?
src/java.desktop/share/classes/sun/print/PathGraphics.java line 1156:
> 1154:
> BufferedImage.TYPE_INT_ARGB);
> 1155: Graphics2D g2d = bufferedImage.createGraphics();
> 1156: g2d.drawImage(resolutionImage, 0, 0, (int)width, (int)height,
> null);
Suggestion:
g2d.drawImage(resolutionImage, 0, 0, (int) width, (int) height, null);
test/jdk/javax/swing/JTable/JTableScrollPrintTest.java line 45:
> 43: * @test
> 44: * @key headful
> 45: * @bug 8210807 8322140
Suggestion:
You may update the test with `PassFailJFrame.builder()`.
I guess `Graphics2D g2d` object needs to be disposed.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/18187#discussion_r1559094053
PR Review Comment: https://git.openjdk.org/jdk/pull/18187#discussion_r1559095223
PR Review Comment: https://git.openjdk.org/jdk/pull/18187#discussion_r1559095541
PR Review Comment: https://git.openjdk.org/jdk/pull/18187#discussion_r1559106656