RFR: 8356137: GifImageDecode can produce opaque image when disposal method changes [v5]
Jeremy Wood
duke at openjdk.org
Mon May 26 05:02:20 UTC 2025
> This resolves a gif parsing bug where an unwanted opaque rectangle could appear under these conditions:
>
> 1. The disposal method for frames is 1 (meaning "do not dispose", aka "DISPOSAL_SAVE")
> 2. The transparent pixel is non-zero
> 3. There's more than one such consecutive frame
>
> Previously: the GifImageDecoder would leave the saved_image pixels as zero when they were supposed to be transparent. This works great if the transparent pixel index is zero, but it flood fills the background of your frame with the zeroeth color otherwise.
Jeremy Wood 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 28 additional commits since the last revision:
- 8356320: trivial whitespace and comment changes
- Merge branch 'master' into JDK-8356137
- Merge branch 'master' of https://github.com/mickleness/jdk
- Merge branch 'master' of https://github.com/mickleness/jdk
- 8356137: readding transparency check at (20, 20)
- GifComparison: fixing error message
- GifComparison: code cleanup
- 8356137: change package to access GifComparison
- GifComparison: adding common helper class for gif bugs
- 8356120: updating (c) year
- ... and 18 more: https://git.openjdk.org/jdk/compare/aba76ce9...6caefc11
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/25044/files
- new: https://git.openjdk.org/jdk/pull/25044/files/cfa679a8..6caefc11
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=25044&range=04
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=25044&range=03-04
Stats: 125129 lines in 2773 files changed: 76967 ins; 33009 del; 15153 mod
Patch: https://git.openjdk.org/jdk/pull/25044.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/25044/head:pull/25044
PR: https://git.openjdk.org/jdk/pull/25044
More information about the client-libs-dev
mailing list