summaryrefslogtreecommitdiffstats
path: root/input
diff options
context:
space:
mode:
authorulion <ulion@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-11-08 05:19:56 +0000
committerulion <ulion@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-11-08 05:19:56 +0000
commitac46121b3b28816f5d3834dd75f32474e73c4e2d (patch)
treedd70e8ac1f6a09ac34040fd3b3431f1e65e38d7e /input
parentc90770493c9160517100f3fb0c8a66f0988a33ae (diff)
downloadmpv-ac46121b3b28816f5d3834dd75f32474e73c4e2d.tar.bz2
mpv-ac46121b3b28816f5d3834dd75f32474e73c4e2d.tar.xz
Fix cmd filter memory leak, free the cmd after filter ate it.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24987 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'input')
-rw-r--r--input/input.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/input/input.c b/input/input.c
index 7567d9fc47..835b97c916 100644
--- a/input/input.c
+++ b/input/input.c
@@ -1294,8 +1294,13 @@ mp_input_get_cmd(int time, int paused, int peek_only) {
if(!ret) return NULL;
for(cf = cmd_filters ; cf ; cf = cf->next) {
- if(cf->filter(ret,paused,cf->ctx))
+ if(cf->filter(ret,paused,cf->ctx)) {
+ if (peek_only && from_queue)
+ // The filter ate the cmd, so we remove it from queue
+ ret = mp_input_get_queued_cmd(0);
+ mp_cmd_free(ret);
return NULL;
+ }
}
if (!from_queue && peek_only)