summaryrefslogtreecommitdiffstats
path: root/input
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2012-10-14 23:44:49 +0200
committerwm4 <wm4@nowhere>2012-10-14 23:45:31 +0200
commit73b44b44a4c97653189fdcdddb78e49507b6baa7 (patch)
tree565ccdf96607e8180e18727bc41213c9a14f5f0a /input
parent38eb7f2fcf2a6848f97025ac4b968e3aa3d65815 (diff)
downloadmpv-73b44b44a4c97653189fdcdddb78e49507b6baa7.tar.bz2
mpv-73b44b44a4c97653189fdcdddb78e49507b6baa7.tar.xz
input: minor simplification to mp_input_get_cmd()
Diffstat (limited to 'input')
-rw-r--r--input/input.c21
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;
}