mirror of
https://github.com/wiiu-env/WiiUPluginSystem.git
synced 2026-08-26 19:57:02 -05:00
Free config items properly on early return
This commit is contained in:
@@ -59,13 +59,19 @@ void WUPSConfigItemIntegerRange_restoreDefault(void *context) {
|
||||
item->value = item->defaultValue;
|
||||
}
|
||||
|
||||
void WUPSConfigItemIntegerRange_onDelete(void *context) {
|
||||
auto *item = (ConfigItemIntegerRange *) context;
|
||||
void WUPSConfigItemIntegerRange_onSelected(void *context, bool isSelected) {
|
||||
}
|
||||
|
||||
static void WUPSConfigItemIntegerRange_Cleanup(ConfigItemIntegerRange *item) {
|
||||
if (!item) {
|
||||
return;
|
||||
}
|
||||
free(item->configId);
|
||||
free(item);
|
||||
}
|
||||
|
||||
void WUPSConfigItemIntegerRange_onSelected(void *context, bool isSelected) {
|
||||
void WUPSConfigItemIntegerRange_onDelete(void *context) {
|
||||
WUPSConfigItemIntegerRange_Cleanup((ConfigItemIntegerRange *) context);
|
||||
}
|
||||
|
||||
extern "C" bool WUPSConfigItemIntegerRange_AddToCategory(WUPSConfigCategoryHandle cat, const char *configId, const char *displayName, int32_t defaultValue, int32_t minValue, int32_t maxValue,
|
||||
@@ -101,7 +107,7 @@ extern "C" bool WUPSConfigItemIntegerRange_AddToCategory(WUPSConfigCategoryHandl
|
||||
.onDelete = &WUPSConfigItemIntegerRange_onDelete};
|
||||
|
||||
if (WUPSConfigItem_Create(&(item->handle), configId, displayName, callbacks, item) < 0) {
|
||||
free(item);
|
||||
WUPSConfigItemIntegerRange_Cleanup(item);
|
||||
return false;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user