Use assert to protect against dereferencing null pointers
#287
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.
Closes #239
This pull request changes CSFML to use SFML's policy for assertions. In short, if a user-provided argument is able to invoke UB, we
assertagainst that potential value. In switching to CSFML to this pattern, we get a few benefits.assertplus a normal line of code.This. Now that the macros are gone we can rename those members or pick different implementation techniques like what I proposed in Use inheritance to implement wrapper struct types #222 for example.sf::error any other logging utilities. I prefer libraries not do logging without a way to intercept and redirect those logs which CSFML currently does not have.CSFML as it stands prior to this PR defines the behavior of null pointer arguments in Debug builds while leaving that behavior undefined for Release builds so that aspect of CSFML has not changed. All this PR does is change what that Debug behavior is.