summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2014-12-03 15:44:41 +0100
committerAlessandro Ghedini <alessandro@ghedini.me>2014-12-07 23:52:33 +0100
commitac94c8113409ec65bd4165599149e404093a2d15 (patch)
treed6ee8e72498f29dc408b7ff1fd921eba0e375fca
parent9501050ddcdcda1f7801751dfcf069014020ed7b (diff)
downloadmpv-ac94c8113409ec65bd4165599149e404093a2d15.tar.bz2
mpv-ac94c8113409ec65bd4165599149e404093a2d15.tar.xz
input, lua: make removing key bindings work
This just kept adding bindings to the input section, rather than defining it. One bad effect was that mp.remove_key_binding() in Lua didn't work.
-rw-r--r--input/input.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/input/input.c b/input/input.c
index c624e7de67..7bb13c5c52 100644
--- a/input/input.c
+++ b/input/input.c
@@ -1019,14 +1019,15 @@ void mp_input_define_section(struct input_ctx *ictx, char *name, char *location,
if (!name || !name[0])
return; // parse_config() changes semantics with restrict_section==empty
input_lock(ictx);
+ // Delete:
+ struct cmd_bind_section *bs = get_bind_section(ictx, bstr0(name));
+ remove_binds(bs, builtin);
if (contents) {
+ // Redefine:
parse_config(ictx, builtin, bstr0(contents), location, name);
} else {
// Disable:
mp_input_disable_section(ictx, name);
- // Delete:
- struct cmd_bind_section *bs = get_bind_section(ictx, bstr0(name));
- remove_binds(bs, builtin);
}
input_unlock(ictx);
}