summaryrefslogtreecommitdiffstats
path: root/filters
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2019-12-18 06:49:48 +0100
committerwm4 <wm4@nowhere>2019-12-18 06:49:48 +0100
commit9b9307ea9fa2a2f7f24b9ebec65ca622900af2f7 (patch)
tree3e67b909d20eac65d4342d614fae2a2d1a68562e /filters
parent0a1588d39b2c30421909c87e60b1510ffd338497 (diff)
downloadmpv-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')
-rw-r--r--filters/f_output_chain.c3
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;