[vlc-devel] [PATCH] bluray: fix SIGSEGV in onMouseEvent
Thomas Guillem
thomas at gllm.fr
Mon Oct 1 10:31:07 CEST 2018
Thanks for the fix. This was done for DVD but not for bluray.
On Sat, Sep 29, 2018, at 19:07, Lucas Werkmeister wrote:
> If newmouse is NULL, we can directly return from the handler after
> initializing (resetting) oldmouse: attempting to detect any differences
> between the two states (movements, button presses) only results in a
> segmentation fault, since newmouse is still NULL.
>
> Fixes #21118.
> ---
> modules/access/bluray.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/modules/access/bluray.c b/modules/access/bluray.c
> index 332de5b438..ff72350220 100644
> --- a/modules/access/bluray.c
> +++ b/modules/access/bluray.c
> @@ -1290,18 +1290,20 @@ static subpicture_t
> *bluraySubpictureCreate(bluray_overlay_t *p_ov)
> /
> *****************************************************************************
> * User input events:
>
> *****************************************************************************/
> static void onMouseEvent(const vlc_mouse_t *newmouse, void *user_data)
> {
> demux_t *p_demux = user_data;
> demux_sys_t *p_sys = p_demux->p_sys;
>
> - if (!newmouse)
> + if (!newmouse) {
> vlc_mouse_Init(&p_sys->oldmouse);
> + return;
> + }
>
> if (vlc_mouse_HasMoved(&p_sys->oldmouse, newmouse))
> bd_mouse_select(p_sys->bluray, -1, newmouse->i_x, newmouse->i_y);
>
> if (vlc_mouse_HasPressed( &p_sys->oldmouse, newmouse, MOUSE_BUTTON_LEFT))
> bd_user_input(p_sys->bluray, -1, BD_VK_MOUSE_ACTIVATE);
> p_sys->oldmouse = *newmouse;
> }
> --
> 2.19.0
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
More information about the vlc-devel
mailing list