assert: Added SDL_HINT_ASSERT.

Same environment variable, but now accessible as a formal SDL hint.

Reference PR #10171.
This commit is contained in:
Ryan C. Gordon
2024-08-18 20:53:07 -04:00
parent 59ac561062
commit 9c5bd98a0f
3 changed files with 31 additions and 21 deletions

View File

@@ -303,9 +303,6 @@ extern SDL_DECLSPEC SDL_AssertState SDLCALL SDL_ReportAssertion(SDL_AssertData *
* "break" so that your debugger takes control as soon as assert is triggered,
* instead of risking a bad UI interaction (deadlock, etc) in the application.
*
* Note that SDL_ASSERT is an _environment variable_ and not an SDL hint!
* Please refer to your platform's documentation for how to set it!
*
* \param condition boolean value to test.
*
* \since This macro is available since SDL 3.0.0.
@@ -335,10 +332,7 @@ extern SDL_DECLSPEC SDL_AssertState SDLCALL SDL_ReportAssertion(SDL_AssertData *
* an assertion in a background thread, it might be desirable to set this to
* "break" so that your debugger takes control as soon as assert is triggered,
* instead of risking a bad UI interaction (deadlock, etc) in the application.
*
* Note that SDL_ASSERT is an _environment variable_ and not an SDL hint!
* Please refer to your platform's documentation for how to set it!
*
* *
* \param condition boolean value to test.
*
* \since This macro is available since SDL 3.0.0.
@@ -366,9 +360,6 @@ extern SDL_DECLSPEC SDL_AssertState SDLCALL SDL_ReportAssertion(SDL_AssertData *
* "break" so that your debugger takes control as soon as assert is triggered,
* instead of risking a bad UI interaction (deadlock, etc) in the application.
*
* Note that SDL_ASSERT is an _environment variable_ and not an SDL hint!
* Please refer to your platform's documentation for how to set it!
*
* \param condition boolean value to test.
*
* \since This macro is available since SDL 3.0.0.
@@ -412,9 +403,6 @@ extern SDL_DECLSPEC SDL_AssertState SDLCALL SDL_ReportAssertion(SDL_AssertData *
* "break" so that your debugger takes control as soon as assert is triggered,
* instead of risking a bad UI interaction (deadlock, etc) in the application.
*
* Note that SDL_ASSERT is an _environment variable_ and not an SDL hint!
* Please refer to your platform's documentation for how to set it!
*
* \param condition boolean value to test.
*
* \since This macro is available since SDL 3.0.0.

View File

@@ -4120,6 +4120,29 @@ extern "C" {
*/
#define SDL_HINT_XINPUT_ENABLED "SDL_XINPUT_ENABLED"
/**
* A variable controlling response to SDL_assert failures.
*
* The variable can be set to the following case-sensitive values:
*
* - "abort": Program terminates immediately.
* - "break": Program triggers a debugger breakpoint.
* - "retry": Program reruns the SDL_assert's test again.
* - "ignore": Program continues on, ignoring this assertion failure this time.
* - "always_ignore": Program continues on, ignoring this assertion failure for the rest of the run.
*
* Note that SDL_SetAssertionHandler offers a programmatic means to deal with
* assertion failures through a callback, and this hint is largely intended to
* be used via environment variables by end users and automated tools.
*
* This hint should be set before an assertion failure is triggered and can
* be changed at any time.
*
* \since This hint is available since SDL 3.0.0.
*/
#define SDL_HINT_ASSERT "SDL_ASSERT"
/**
* An enumeration of hint priorities.
*