mirror of
https://github.com/libretro/RetroArch
synced 2025-04-18 05:43:34 +00:00
Add MENU_SETTING_CTL_FREE
This commit is contained in:
parent
71f2fa531c
commit
a5cbafe0e5
@ -653,7 +653,7 @@ bool menu_entries_ctl(enum menu_entries_ctl_state state, void *data)
|
|||||||
break;
|
break;
|
||||||
case MENU_ENTRIES_CTL_SETTINGS_DEINIT:
|
case MENU_ENTRIES_CTL_SETTINGS_DEINIT:
|
||||||
if (menu_entries_list_settings)
|
if (menu_entries_list_settings)
|
||||||
menu_setting_free(menu_entries_list_settings);
|
menu_setting_ctl(MENU_SETTING_CTL_FREE, menu_entries_list_settings);
|
||||||
menu_entries_list_settings = NULL;
|
menu_entries_list_settings = NULL;
|
||||||
break;
|
break;
|
||||||
case MENU_ENTRIES_CTL_SETTINGS_INIT:
|
case MENU_ENTRIES_CTL_SETTINGS_INIT:
|
||||||
|
@ -7357,12 +7357,12 @@ bool menu_setting_action_right(rarch_setting_t *setting, bool wraparound)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void menu_setting_free(rarch_setting_t *list)
|
static bool menu_setting_free(void *data)
|
||||||
{
|
{
|
||||||
rarch_setting_t *setting = list;
|
rarch_setting_t *setting = (rarch_setting_t*)data;
|
||||||
|
|
||||||
if (!list)
|
if (!data)
|
||||||
return;
|
return false;
|
||||||
|
|
||||||
for (; menu_setting_get_type(setting) != ST_NONE; menu_settings_list_increment(&setting))
|
for (; menu_setting_get_type(setting) != ST_NONE; menu_settings_list_increment(&setting))
|
||||||
{
|
{
|
||||||
@ -7386,7 +7386,9 @@ void menu_setting_free(rarch_setting_t *list)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
free(list);
|
free(data);
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -7568,6 +7570,8 @@ bool menu_setting_ctl(enum menu_setting_ctl_state state, void *data)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
case MENU_SETTING_CTL_FREE:
|
||||||
|
return menu_setting_free(data);
|
||||||
case MENU_SETTING_CTL_NONE:
|
case MENU_SETTING_CTL_NONE:
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -66,6 +66,7 @@ enum setting_flags
|
|||||||
enum menu_setting_ctl_state
|
enum menu_setting_ctl_state
|
||||||
{
|
{
|
||||||
MENU_SETTING_CTL_NONE = 0,
|
MENU_SETTING_CTL_NONE = 0,
|
||||||
|
MENU_SETTING_CTL_FREE,
|
||||||
MENU_SETTING_CTL_IS_OF_PATH_TYPE
|
MENU_SETTING_CTL_IS_OF_PATH_TYPE
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -317,8 +318,6 @@ void menu_setting_get_label(void *data, char *s,
|
|||||||
size_t len, unsigned *w, unsigned type,
|
size_t len, unsigned *w, unsigned type,
|
||||||
const char *menu_label, const char *label, unsigned idx);
|
const char *menu_label, const char *label, unsigned idx);
|
||||||
|
|
||||||
void menu_setting_free(rarch_setting_t *list);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* setting_new:
|
* setting_new:
|
||||||
* @mask : Bitmask of settings to include.
|
* @mask : Bitmask of settings to include.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user