diff options
author | wm4 <wm4@nowhere> | 2019-12-18 06:49:48 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2019-12-18 06:49:48 +0100 |
commit | 9b9307ea9fa2a2f7f24b9ebec65ca622900af2f7 (patch) | |
tree | 3e67b909d20eac65d4342d614fae2a2d1a68562e /filters/f_output_chain.c | |
parent | 0a1588d39b2c30421909c87e60b1510ffd338497 (diff) | |
download | mpv-9b9307ea9fa2a2f7f24b9ebec65ca622900af2f7.tar.bz2 mpv-9b9307ea9fa2a2f7f24b9ebec65ca622900af2f7.tar.xz |
options: fix filter list comparison (again)
This was completely broken: it compared the first item of the filter
list only. Apparently I forgot that this is a list. This probably broke
aspects of runtime filter changing probably since commit b16cea750f52.
Fix this, and remove some redundant code from obj_settings_equals().
Which is not the same as m_obj_settings_equal(), so rename it to make
confusing them harder. (obj_setting_match() has these very weird label
semantics that should probably just be killed. Or not.)
Diffstat (limited to 'filters/f_output_chain.c')
-rw-r--r-- | filters/f_output_chain.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/filters/f_output_chain.c b/filters/f_output_chain.c index 7686e4e642..1a6a910273 100644 --- a/filters/f_output_chain.c +++ b/filters/f_output_chain.c @@ -524,8 +524,7 @@ bool mp_output_chain_update_filters(struct mp_output_chain *c, struct mp_user_filter *u = NULL; for (int i = 0; i < p->num_user_filters; i++) { - struct m_option t = {.type = &m_option_type_obj_settings_list}; - if (!used[i] && m_option_equal(&t, &entry, &p->user_filters[i]->args)) + if (!used[i] && m_obj_settings_equal(entry, p->user_filters[i]->args)) { u = p->user_filters[i]; used[i] = true; |