summaryrefslogtreecommitdiffstats
path: root/playtree.c
diff options
context:
space:
mode:
authorben <ben@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-06-20 19:51:43 +0000
committerben <ben@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-06-20 19:51:43 +0000
commit6a55bbb4a21f4a0ddf8afce5806dc01466b35cb7 (patch)
treefd9bc16d1b6c444a78d344a271fedf7d21ee91a1 /playtree.c
parentc2a6adddeacc89d825c4c8811f63a4c5b38a0721 (diff)
downloadmpv-6a55bbb4a21f4a0ddf8afce5806dc01466b35cb7.tar.bz2
mpv-6a55bbb4a21f4a0ddf8afce5806dc01466b35cb7.tar.xz
Only "pop" subtree params if they had previously been "pushed",
and afterwards reset the "pushed" value to 0 again. Similarly only set the PLAY_TREE_RND_PLAYED flag if the entry had been pushed before. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27106 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'playtree.c')
-rw-r--r--playtree.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/playtree.c b/playtree.c
index ead621b4fe..a10c43703f 100644
--- a/playtree.c
+++ b/playtree.c
@@ -710,8 +710,9 @@ play_tree_iter_up_step(play_tree_iter_t* iter, int d,int with_nodes) {
iter->tree = iter->tree->parent;
// Pop subtree params
- if(iter->config) {
+ if(iter->config && iter->entry_pushed > 0) {
m_config_pop(iter->config);
+ iter->entry_pushed = 0;
if(iter->mode == PLAY_TREE_ITER_RND)
iter->tree->flags |= PLAY_TREE_RND_PLAYED;
}