summaryrefslogtreecommitdiffstats
path: root/m_struct.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2012-08-04 11:14:38 +0200
committerwm4 <wm4@nowhere>2012-08-04 19:59:56 +0200
commit37c03f2c81a443e910eeb3b2613865dce59c54bf (patch)
treee9d5ae5c0ed1fce9f6f689f03edec75bf1e7cca4 /m_struct.c
parentab63072b47f9710852636a78a339b368b493e329 (diff)
downloadmpv-37c03f2c81a443e910eeb3b2613865dce59c54bf.tar.bz2
mpv-37c03f2c81a443e910eeb3b2613865dce59c54bf.tar.xz
options: revert passing around talloc contexts
This reverts commit 48f0692ab9 "options: make option struct the talloc parent of options". This made things actually more complicated. It introduced a new parameter to the option parse and copy functions, which was used inconsistently. Some code passed a parent, some not. Morever, you have to call m_option_free() anyway, because not all options actually respect the talloc parent. There is also the question whether passing NULL as parent is supposed to work, or if you still have to implement m_config_free(). On the other hand, this simplifies nothing. I assume the intention was being able to free all option values with a single talloc_free() call, but the same goal can be reached by simply freeing the m_config struct. (The m_config talloc destructor will free each option values.) Get rid of the talloc parent context parameter. This essentially reverts commit 48f0692ab9 ("options: make option struct the talloc parent of options"). In video_out.c, make the VO priv struct the talloc parent for the m_config object, so that destroying the VO will free the options. The ability to free the m_config struct and all its managed options was introduced in commit 89a17bcda6c.
Diffstat (limited to 'm_struct.c')
-rw-r--r--m_struct.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/m_struct.c b/m_struct.c
index 5ee932945a..82cdc0ee27 100644
--- a/m_struct.c
+++ b/m_struct.c
@@ -71,7 +71,7 @@ int m_struct_set(const m_struct_t *st, void *obj, const char *field,
return 0;
}
- if(f->type->parse(f, bstr0(field), param, false, M_ST_MB_P(obj,f->p), NULL) < 0) {
+ if(f->type->parse(f, bstr0(field), param, false, M_ST_MB_P(obj,f->p)) < 0) {
mp_msg(MSGT_CFGPARSER, MSGL_ERR,"Struct %s, field %s parsing error: %.*s\n",
st->name, field, BSTR_P(param));
return 0;