Use zero if GIF background color index is missing #5390
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Resolves #4943
For the broken image from that issue, the Global Color Table Flag isn't set. Without it, https://www.w3.org/Graphics/GIF/spec-gif89a.txt
And yet, the disposal method is 2, 'Restore to background color'. So, we need to restore to the background color without knowing what that background color is.
I feel like this is a gap in the specification. If we treat the missing background color as zero though, the image loads correctly. That seems like a better option than our current behaviour of catching the error and just continuing on with the last good disposal that we had.
I presume this missing background color was the
KeyErrorbeing caught, so I've removed that.