tray: improved error checking

Also clean up any existing trays when the program quits

Fixes https://github.com/libsdl-org/SDL/issues/11893
This commit is contained in:
Sam Lantinga
2025-01-19 09:59:12 -08:00
parent b716eeefef
commit 7570ab106d
9 changed files with 334 additions and 83 deletions

View File

@@ -61,12 +61,14 @@ typedef enum
SDL_OBJECT_TYPE_HIDAPI_DEVICE,
SDL_OBJECT_TYPE_HIDAPI_JOYSTICK,
SDL_OBJECT_TYPE_THREAD,
SDL_OBJECT_TYPE_TRAY,
} SDL_ObjectType;
extern Uint32 SDL_GetNextObjectID(void);
extern void SDL_SetObjectValid(void *object, SDL_ObjectType type, bool valid);
extern bool SDL_ObjectValid(void *object, SDL_ObjectType type);
extern int SDL_GetObjects(SDL_ObjectType type, void **objects, int count);
extern void SDL_SetObjectsInvalid(void);
extern const char *SDL_GetPersistentString(const char *string);