diff options
author | wm4 <wm4@nowhere> | 2012-10-14 23:44:49 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2012-10-14 23:45:31 +0200 |
commit | 73b44b44a4c97653189fdcdddb78e49507b6baa7 (patch) | |
tree | 565ccdf96607e8180e18727bc41213c9a14f5f0a | |
parent | 38eb7f2fcf2a6848f97025ac4b968e3aa3d65815 (diff) | |
download | mpv-73b44b44a4c97653189fdcdddb78e49507b6baa7.tar.bz2 mpv-73b44b44a4c97653189fdcdddb78e49507b6baa7.tar.xz |
input: minor simplification to mp_input_get_cmd()
-rw-r--r-- | input/input.c | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/input/input.c b/input/input.c index 1ea5050031..63d8537ed3 100644 --- a/input/input.c +++ b/input/input.c @@ -632,11 +632,6 @@ static void queue_remove(struct cmd_queue *queue, struct mp_cmd *cmd) *p_prev = cmd->queue_next; } -static void queue_pop(struct cmd_queue *queue) -{ - queue_remove(queue, queue->first); -} - static void queue_add(struct cmd_queue *queue, struct mp_cmd *cmd, bool at_head) { @@ -1529,20 +1524,20 @@ mp_cmd_t *mp_input_get_cmd(struct input_ctx *ictx, int time, int peek_only) if (ictx->control_cmd_queue.first || ictx->key_cmd_queue.first) time = 0; read_all_events(ictx, time); - struct mp_cmd *ret; struct cmd_queue *queue = &ictx->control_cmd_queue; if (!queue->first) queue = &ictx->key_cmd_queue; if (!queue->first) { - ret = check_autorepeat(ictx); - if (!ret) - return NULL; - queue_add(queue, ret, false); - } else - ret = queue->first; + struct mp_cmd *repeated = check_autorepeat(ictx); + if (repeated) + queue_add(queue, repeated, false); + } + struct mp_cmd *ret = queue->first; + if (!ret) + return NULL; if (!peek_only) - queue_pop(queue); + queue_remove(queue, ret); return ret; } |