#pragma section-numbers off #pragma camelcase off = SDL_SetAssertionHandler = Use this function to set an application-defined assertion handler. <> == Syntax == {{{#!highlight cpp void SDL_SetAssertionHandler(SDL_AssertionHandler handler, void* userdata) }}} == Function Parameters == ||'''handler'''||the function to call when an assertion fails or NULL for the default handler; see [[#Remarks|Remarks]] for details|| ||'''userdata'''||a pointer that is passed to '''handler'''|| == Code Examples == {{{#!highlight cpp You can add your code example here }}} == Remarks == This function allows an application to show its own assertion UI and/or force the response to an assertion failure. If the application doesn't provide this, SDL will try to do the right thing, popping up a system-specific GUI dialog, and probably minimizing any fullscreen windows. The function prototype for '''handler''' is: {{{#!highlight cpp SDL_AssertState YourAssertionHandler(const SDL_AssertData* data, void* userdata) }}} . where `YourAssertionHandler` is the name of your function and its parameters are: ||`data`||a pointer to the [[SDL_AssertData]] structure corresponding to the current assertion|| ||`userdata`||what was passed as '''userdata''' to [[SDL_SetAssertionHandler]]()|| .This callback should return an [[SDL_AssertState]] value indicating how to handle the assertion failure. This callback may fire from any thread, but it runs wrapped in a mutex, so it will only fire from one thread at a time. This callback is NOT reset to SDL's internal handler upon [[SDL_Quit]]()! == Related Functions == .[[SDL_GetAssertionHandler]] ---- [[CategoryAPI]], [[CategoryAssertions]]