summaryrefslogtreecommitdiffstats
path: root/input/cmd_list.c
diff options
context:
space:
mode:
Diffstat (limited to 'input/cmd_list.c')
-rw-r--r--input/cmd_list.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/input/cmd_list.c b/input/cmd_list.c
index 936cef9125..23a5da774e 100644
--- a/input/cmd_list.c
+++ b/input/cmd_list.c
@@ -30,15 +30,11 @@
// 0: no, 1: maybe, 2: sure
static int is_abort_cmd(struct mp_cmd *cmd)
{
- switch (cmd->id) {
- case MP_CMD_QUIT:
- case MP_CMD_QUIT_WATCH_LATER:
- case MP_CMD_STOP:
+ if (cmd->def->is_abort)
return 2;
- case MP_CMD_PLAYLIST_NEXT:
- case MP_CMD_PLAYLIST_PREV:
+ if (cmd->def->is_soft_abort)
return 1;
- case MP_CMD_COMMAND_LIST:;
+ if (cmd->def == &mp_cmd_list) {
int r = 0;
for (struct mp_cmd *sub = cmd->args[0].v.p; sub; sub = sub->queue_next) {
int x = is_abort_cmd(sub);
@@ -61,14 +57,13 @@ bool mp_input_is_abort_cmd(struct mp_cmd *cmd)
bool mp_input_is_repeatable_cmd(struct mp_cmd *cmd)
{
- return (cmd->def && cmd->def->allow_auto_repeat) ||
- cmd->id == MP_CMD_COMMAND_LIST ||
+ return (cmd->def->allow_auto_repeat) || cmd->def == &mp_cmd_list ||
(cmd->flags & MP_ALLOW_REPEAT);
}
bool mp_input_is_scalable_cmd(struct mp_cmd *cmd)
{
- return cmd->def && cmd->def->scalable;
+ return cmd->def->scalable;
}
void mp_print_cmd_list(struct mp_log *out)