SDL Wiki
(This is the documentation for SDL3, which is under heavy development and the API is changing! SDL2 is the current stable version!)


Set a property on a set of properties with a cleanup function that is called when the property is deleted.

Header File

Defined in <SDL3/SDL_properties.h>


int SDL_SetPropertyWithCleanup(SDL_PropertiesID props, const char *name, void *value, SDL_CleanupPropertyCallback cleanup, void *userdata);

Function Parameters

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.

Return Value

(int) Returns 0 on success or a negative error code 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.

Thread Safety

It is safe to call this function from any thread.


This function is available since SDL 3.0.0.

See Also

CategoryAPI, CategoryAPIFunction, CategoryProperties

[ edit | delete | history | feedback | raw ]

[ front page | index | search | recent changes | git repo | offline html ]

All wiki content is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0).
Wiki powered by ghwikipp.