[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