summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-02-03 13:40:55 +0100
committerwm4 <wm4@nowhere>2015-02-03 13:40:55 +0100
commit2c22fcd350a55ffe9c49f3fedbd4be33a16cfba5 (patch)
tree764225bcef9e7dd08e8da82f96955fbd08717e4a
parent9d62482cdc0664d433ddd632b03c3651f17562e8 (diff)
downloadmpv-2c22fcd350a55ffe9c49f3fedbd4be33a16cfba5.tar.bz2
mpv-2c22fcd350a55ffe9c49f3fedbd4be33a16cfba5.tar.xz
options: fix parsing for options/af and options/vf
Basically, the declared option name and the name passed to the parse_obj_settings_list() must be the same. Fixes the issue addressed in #1550, but differently.
-rw-r--r--options/m_property.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/options/m_property.c b/options/m_property.c
index 9a787b8e43..d16767b34d 100644
--- a/options/m_property.c
+++ b/options/m_property.c
@@ -156,7 +156,10 @@ int m_property_do(struct mp_log *log, const struct m_property *prop_list,
case M_PROPERTY_SET_STRING: {
if (!log)
return M_PROPERTY_ERROR;
- if (m_option_parse(log, &opt, bstr0(name), bstr0(arg), &val) < 0)
+ bstr optname = bstr0(name), a, b;
+ if (bstr_split_tok(optname, "/", &a, &b))
+ optname = b;
+ if (m_option_parse(log, &opt, optname, bstr0(arg), &val) < 0)
return M_PROPERTY_ERROR;
r = do_action(prop_list, name, M_PROPERTY_SET, &val, ctx);
m_option_free(&opt, &val);