Segmentation fault in caca event handler
After update from !889 (merged), I get the following crash with caca video output.
Core was generated by `./vlc -I dummy -A dummy /home/alexandre/Video/dog_meme.mp4 --extraintf none -V caca'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 vlc_queue_EnqueueUnlocked (q=q@entry=0x7f14b417ae90, entry=<optimized out>, entry@entry=0x7f1488007610)
at ../../src/misc/queue.c:89
89 for (lastp = q->lastp; entry != NULL; entry = next_get(entry, offset))
[Current thread is 1 (Thread 0x7f14a5c5f640 (LWP 201428))]
(gdb) bt all
No symbol "all" in current context.
(gdb) bt full
#0 vlc_queue_EnqueueUnlocked (q=q@entry=0x7f14b417ae90, entry=<optimized out>, entry@entry=0x7f1488007610)
at ../../src/misc/queue.c:89
lastp = <optimized out>
__PRETTY_FUNCTION__ = "vlc_queue_EnqueueUnlocked"
#1 0x00007f14e2cf8f22 in vlc_queue_Enqueue (q=q@entry=0x7f14b417ae90, entry=0x7f1488007610) at ../../src/misc/queue.c:131
#2 0x00007f14ad3ad302 in VoutDisplayEventKey (key=13, sys=0x7f14b417ae70) at ../../modules/video_output/caca.c:89
event = <optimized out>
vlc = 13
i = <optimized out>
caca = 13
sys = 0x7f14b417ae70
ev =
{type = CACA_EVENT_KEY_PRESS, data = {mouse = {x = 13, y = 13, button = 13}, resize = {w = 13, h = 13}, key = {ch = 13, utf32 = 13, utf8 = "\r\000\000\000p\245\027\264"}}, padding = "\024\177\000\000\215&\320\342\024\177\000\000\300 ", <incomplete sequence \314>}
sys = <optimized out>
__func__ = "Prepare"
crop_offset = <optimized out>
#3 Manage (vd=0x7f14b417e9c0) at ../../modules/video_output/caca.c:303
vlc = 13
i = <optimized out>
caca = 13
sys = 0x7f14b417ae70
ev =
{type = CACA_EVENT_KEY_PRESS, data = {mouse = {x = 13, y = 13, button = 13}, resize = {w = 13, h = 13}, key = {ch = 13, utf32 = 13, utf8 = "\r\000\000\000p\245\027\264"}}, padding = "\024\177\000\000\215&\320\342\024\177\000\000\300 ", <incomplete sequence \314>}
sys = <optimized out>
__func__ = "Prepare"
crop_offset = <optimized out>
#4 Prepare (vd=0x7f14b417e9c0, picture=0x7f14980473c0, subpicture=<optimized out>, date=<optimized out>)
at ../../modules/video_output/caca.c:125
sys = <optimized out>
__func__ = "Prepare"
crop_offset = <optimized out>
#5 0x00007f14e2ccc3a3 in RenderPicture (sys=sys@entry=0x7f14b40a6dd0, render_now=<optimized out>, render_now@entry=false)
at ../../src/video_output/video_output.c:1334
vd = 0x7f14b417e9c0
filtered = <optimized out>
todisplay = 0x7f14980473c0
subpic = 0x0
ret = 0
system_now = <optimized out>
pts = 1133334
system_pts = <optimized out>
frame_rate = 30
frame_rate_base = 1
__func__ = "RenderPicture"
#6 0x00007f14e2ccca42 in DisplayPicture (deadline=<synthetic pointer>, vout=0x7f14b40a6dd0)
at ../../src/video_output/video_output.c:1526
sys = 0x7f14b40a6dd0
first = <optimized out>
dropped_current_frame = <optimized out>
refresh = <optimized out>
date_refresh = 5337222642
--Type <RET> for more, q to quit, c to continue without paging--c
paused = <optimized out>
render_now = false
render_delay = <optimized out>
ret = <optimized out>
system_now = <optimized out>
next = <optimized out>
__PRETTY_FUNCTION__ = "DisplayPicture"
video_mouse = {i_x = 0, i_y = 0, i_pressed = 0, b_double_click = false}
picture_interlaced = <optimized out>
vout = 0x7f14b40a6dd0
sys = 0x7f14b40a6dd0
deadline = 5337222642
wait = <optimized out>
#7 Thread (object=0x7f14b40a6dd0) at ../../src/video_output/video_output.c:1843
video_mouse = {i_x = 0, i_y = 0, i_pressed = 0, b_double_click = false}
picture_interlaced = <optimized out>
vout = 0x7f14b40a6dd0
sys = 0x7f14b40a6dd0
deadline = 5337222642
wait = <optimized out>
#8 0x00007f14e2a11259 in start_thread () at /usr/lib/libpthread.so.0
#9 0x00007f14e293a5e3 in clone () at /usr/lib/libc.so.6