[Spice-devel] [PATCH spice-gtk] channel-usbredir: Do not stop event listening if SpiceSession does not exist

Marc-André Lureau mlureau at redhat.com
Wed Mar 11 09:11:19 PDT 2015


ack

----- Original Message -----
> Avoids Segfault when closing the connection just after the usb device
> redirection.
> ---
>  gtk/channel-usbredir.c | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/gtk/channel-usbredir.c b/gtk/channel-usbredir.c
> index b1a91fb..d974434 100644
> --- a/gtk/channel-usbredir.c
> +++ b/gtk/channel-usbredir.c
> @@ -419,9 +419,12 @@ void
> spice_usbredir_channel_disconnect_device(SpiceUsbredirChannel *channel)
>           * usbredirhost_set_device NULL will interrupt the
>           * libusb_handle_events call in the thread.
>           */
> -        spice_usb_device_manager_stop_event_listening(
> -            spice_usb_device_manager_get(
> -                spice_channel_get_session(SPICE_CHANNEL(channel)), NULL));
> +        {
> +            SpiceSession *session =
> spice_channel_get_session(SPICE_CHANNEL(channel));
> +            if (session != NULL)
> +                spice_usb_device_manager_stop_event_listening(
> +                    spice_usb_device_manager_get(session, NULL));
> +        }
>          /* This also closes the libusb handle we passed from open_device */
>          usbredirhost_set_device(priv->host, NULL);
>          libusb_unref_device(priv->device);
> --
> 2.3.2
> 
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel
> 


More information about the Spice-devel mailing list