fix leaks on stream delete and delete all

This commit is contained in:
niels
2015-06-23 23:47:55 +02:00
parent d80cee0337
commit a4f1d9a00e
2 changed files with 12 additions and 9 deletions

View File

@@ -254,6 +254,8 @@ void sample_free(void *edl)
return; return;
sample_del_all(edl); sample_del_all(edl);
hash_destroy( SampleHash );
} }
int sample_set_state(int new_state) int sample_set_state(int new_state)

View File

@@ -135,6 +135,7 @@ void vj_tag_free(void)
if( vj_tag_input) if( vj_tag_input)
free(vj_tag_input); free(vj_tag_input);
hash_destroy( TagHash );
} }
@@ -201,8 +202,6 @@ int vj_tag_put(vj_tag * tag)
hash_insert(TagHash, tag_node, (void *) tag->id); hash_insert(TagHash, tag_node, (void *) tag->id);
} else { } else {
hnode_put(tag_node, (void *) tag->id); hnode_put(tag_node, (void *) tag->id);
hnode_destroy(tag_node);
} }
return 1; return 1;
} }
@@ -1205,7 +1204,7 @@ int vj_tag_del(int id)
tag = vj_tag_get(id); tag = vj_tag_get(id);
if(!tag) if(!tag)
return 0; return 0;
#ifdef HAVE_TRUETYPE #ifdef HAVE_FREETYPE
vj_font_dictionary_destroy(_tag_info->font ,tag->dict); vj_font_dictionary_destroy(_tag_info->font ,tag->dict);
#endif #endif
@@ -1319,6 +1318,7 @@ int vj_tag_del(int id)
if(tag_node) if(tag_node)
{ {
hash_delete(TagHash, tag_node); hash_delete(TagHash, tag_node);
hnode_destroy(tag_node);
} }
free(tag); free(tag);
@@ -1332,7 +1332,7 @@ int vj_tag_del(int id)
} }
void vj_tag_close_all() { void vj_tag_close_all() {
int n=vj_tag_size()-1; int n=vj_tag_size();
int i; int i;
vj_tag *tag; vj_tag *tag;
@@ -1343,6 +1343,7 @@ void vj_tag_close_all() {
} }
} }
hash_free_nodes( TagHash );
} }
int vj_tag_get_n_frames(int t1) int vj_tag_get_n_frames(int t1)