forked from len0rd/rockbox
[Bugfix] shuffle shenanigans from g5288 Fix #13369 shuffle & repeat callbacks
shuffle and sort were called on startup before playlist_init and also on setting switch even without select repeat is also now handled in settings_list as well after moving the callbacks to settings_list.c there was then a problem of unintended callbacks on exit of the menus fixed that with F_CB_ON_SELECT_ONLY since the callback was called regardless of the setting being changed on F_CB_ON_SELECT_ONLY which is preferable in some circumstances I co-opted F_TEMPVAR to allow the callback only when the setting was changed with the flag F_CB_ON_SELECT_ONLY_IF_CHANGED Change-Id: I5265233bbb556dc06c45273e742be5d78510a806
This commit is contained in:
parent
3883c978ab
commit
1c80f53581
5 changed files with 37 additions and 66 deletions
|
|
@ -102,6 +102,7 @@ struct table_setting {
|
|||
#define F_TABLE_SETTING 0x2000
|
||||
#define F_ALLOW_ARBITRARY_VALS 0x4000
|
||||
#define F_CB_ON_SELECT_ONLY 0x20000
|
||||
#define F_CB_ON_SELECT_ONLY_IF_CHANGED (F_CB_ON_SELECT_ONLY|F_TEMPVAR)
|
||||
/* these use the _isfunc_type type for the function */
|
||||
/* typedef int (*_isfunc_type)(void); */
|
||||
#define F_MIN_ISFUNC 0x100000 /* min(above) is function pointer to above type */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue