Set a pointer property in a group of properties with a cleanup function that is called when the property is deleted.
Defined in <SDL3/SDL_properties.h>
bool SDL_SetPointerPropertyWithCleanup(SDL_PropertiesID props, const char *name, void *value, SDL_CleanupPropertyCallback cleanup, void *userdata);
SDL_PropertiesID | props | the properties to modify. |
const char * | name | the name of the property to modify. |
void * | value | the new value of the property, or NULL to delete the property. |
SDL_CleanupPropertyCallback | cleanup | the function to call when this property is deleted, or NULL if no cleanup is necessary. |
void * | userdata | a pointer that is passed to the cleanup function. |
(bool) Returns true on success or false on failure; call SDL_GetError() for more information.
The cleanup function is also called if setting the property fails for any reason.
For simply setting basic data types, like numbers, bools, or strings, use SDL_SetNumberProperty, SDL_SetBooleanProperty, or SDL_SetStringProperty instead, as those functions will handle cleanup on your behalf. This function is only for more complex, custom data.
It is safe to call this function from any thread.
This function is available since SDL 3.1.3.