Mercurial > audlegacy
changeset 3963:572258c68dfb
- for input plugins which provide probe_for_tuple only, now input_do_check_file() calls probe_for_tuple regardless of cfg.use_pl_metadata.
- now audacious frees lists of input plugins attached to ext_hash on quit.
author | Yoshiki Yazawa <yaz@cc.rim.or.jp> |
---|---|
date | Sat, 17 Nov 2007 20:49:26 +0900 |
parents | a575c29cee05 |
children | 32bd9d553b0b |
files | src/audacious/input.c src/audacious/pluginenum.c |
diffstat | 2 files changed, 10 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/audacious/input.c Sat Nov 17 17:07:46 2007 +0900 +++ b/src/audacious/input.c Sat Nov 17 20:49:26 2007 +0900 @@ -318,9 +318,9 @@ vfs_rewind(fd); - if (ip->probe_for_tuple && - cfg.use_pl_metadata && - (!loading || (loading && cfg.get_info_on_load)) ) { + /* some input plugins provide probe_for_tuple() only. */ + if ( (ip->probe_for_tuple && !ip->is_our_file_from_vfs && !ip->is_our_file) || + (ip->probe_for_tuple && (cfg.use_pl_metadata && (!loading || (loading && cfg.get_info_on_load)))) ) { Tuple *tuple = ip->probe_for_tuple(filename_proxy, fd);
--- a/src/audacious/pluginenum.c Sat Nov 17 17:07:46 2007 +0900 +++ b/src/audacious/pluginenum.c Sat Nov 17 20:49:26 2007 +0900 @@ -885,6 +885,12 @@ } } +static void +remove_list(gpointer key, gpointer value, gpointer data) +{ + g_list_free(*(GList **)value); +} + void plugin_system_cleanup(void) { @@ -1052,5 +1058,6 @@ } mowgli_dictionary_destroy(plugin_dict, NULL, NULL); + g_hash_table_foreach(ext_hash, remove_list, NULL); g_hash_table_remove_all(ext_hash); }