Merged
Conversation
Member
|
Looks good, but add this to the changelog since there is probably someone out there who will have their code break because of this change. |
antonilol
added a commit
to antonilol/rust-sdl2
that referenced
this pull request
Dec 6, 2025
Cobrand
added a commit
that referenced
this pull request
Dec 16, 2025
document breaking change in #1459
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
The SDL image library can initialize the codecs up front for whatever formats. this is done by calling IMG_Init.
However, it is not necessary. All of the image format that sdl2 support have the same pattern, like here for png, or here for jpg. Before loading the image it will try to load the codec if it is not already loaded.
So a pattern that can be used is:
of note: this is explicitly valid in the docs.
Right now via rust bindings, calling
gives the cryptic error:
"Could not init: ", which is... interesting.and also, current logic uses,
intersects, but this gives success if any of the libs init correctly (but even if one fail then it's not propagated to the caller!), when it should instead give fail only if any of them fail.