# HG changeset patch # User reimar # Date 1353005059 0 # Node ID 891b14e68b02be92140b5111a46b5f2eeb8d1d94 # Parent 79e7ec4662ee478a007fa9e7af0dda8ac65f2210 Revert r35388. The code is a bit confusing, but peeked commands should never be freed. diff -r 79e7ec4662ee -r 891b14e68b02 input/input.c --- a/input/input.c Sat Nov 10 23:52:19 2012 +0000 +++ b/input/input.c Thu Nov 15 18:44:19 2012 +0000 @@ -1907,6 +1907,7 @@ int mp_input_check_interrupt(int time) { mp_cmd_t *cmd = mp_input_get_cmd(time,0,1); + // Note: we must not free this, since we only peeked if (!cmd) return 0; switch(cmd->id) { @@ -1914,11 +1915,9 @@ case MP_CMD_PLAY_TREE_STEP: case MP_CMD_PLAY_TREE_UP_STEP: case MP_CMD_PLAY_ALT_SRC_STEP: - mp_cmd_free(cmd); // The cmd will be executed when we are back in the main loop return 1; } - mp_cmd_free(cmd); // remove the cmd from the queue cmd = mp_input_get_cmd(time,0,0); mp_cmd_free(cmd);