summaryrefslogtreecommitdiffstats
path: root/libmpcodecs/pullup.h
diff options
context:
space:
mode:
authorUoti Urpala <uau@mplayer2.org>2011-10-03 04:12:15 +0300
committerUoti Urpala <uau@mplayer2.org>2011-10-03 04:12:15 +0300
commit318559056f22352d57145b36e1292941ae7353cd (patch)
tree059ae9b0695385dc522e3016feeda7aee2047880 /libmpcodecs/pullup.h
parent377ae044e2044000477fe1adf3209c02638bacc7 (diff)
downloadmpv-318559056f22352d57145b36e1292941ae7353cd.tar.bz2
mpv-318559056f22352d57145b36e1292941ae7353cd.tar.xz
getch2.c: fix negative keycodes returned for non-ascii
getch2.c read data into a "char" array, and returned values other than escape sequences directly from there. This meant that it could return negative values (except on platforms where "char" is unsigned) if the input contained bytes >= 128. This would break later parsing in input.c as the values would be interpreted as having the MP_KEY_DOWN flag set, which would make the key binding code think a key is held down (and never released). Fix by changing the buffer type to unsigned char. The bug itself was very old, but started triggering visible breakage more easily after commit 82b8f89baea ("input: rework event reading and command queuing"). Before that the key values would be passed through the input.c "key read function" interface, which (mis)interpreted the negative values as errors from the function, and in most cases discarded them without much visible effect.
Diffstat (limited to 'libmpcodecs/pullup.h')
0 files changed, 0 insertions, 0 deletions