[Spice-devel] [spice-gtk v2] spice-option: warn on command line failures of usbredir

Frediano Ziglio fziglio at redhat.com
Thu Jul 25 10:50:48 UTC 2019


> 
> From: Victor Toso <me at victortoso.com>
> 
> As spice_usb_device_manager_get() can fail for different reasons, we
> should silently ignore it and its error.
> 

The first comment I made was about this sentence, the code is doing
the opposite of what you stated here. The subject is correct (you give
a warning), but giving a warning is less silent than ignoring the error
(as master code is doing).

Maybe:

"As spice_usb_device_manager_get() can fail for different reasons, we
should ignore and continue but at least give a warning."

> Signed-off-by: Victor Toso <victortoso at redhat.com>
> ---
>  src/spice-option.c | 24 ++++++++++++++++++++----
>  1 file changed, 20 insertions(+), 4 deletions(-)
> 
> diff --git a/src/spice-option.c b/src/spice-option.c
> index c2b059e..08d449e 100644
> --- a/src/spice-option.c
> +++ b/src/spice-option.c
> @@ -212,6 +212,18 @@ GOptionGroup* spice_get_option_group(void)
>      return grp;
>  }
>  
> +SpiceUsbDeviceManager *
> +get_usb_device_manager_for_option(SpiceSession *session, const char *option)
> +{
> +    GError *err = NULL;
> +    SpiceUsbDeviceManager *m = spice_usb_device_manager_get(session, &err);
> +    if (!m) {
> +        g_warning("Option %s is set but failed: %s", option, err->message);
> +        g_error_free(err);
> +    }
> +    return m;
> +}
> +
>  /**
>   * spice_set_session_option:
>   * @session: a #SpiceSession to set option upon
> @@ -261,16 +273,20 @@ void spice_set_session_option(SpiceSession *session)
>              g_object_set(session, "smartcard-db", smartcard_db, NULL);
>      }
>      if (usbredir_auto_redirect_filter) {
> -        SpiceUsbDeviceManager *m = spice_usb_device_manager_get(session,
> NULL);
> -        if (m)
> +        SpiceUsbDeviceManager *m =
> +                get_usb_device_manager_for_option(session,
> "--spice-usbredir-auto-redirect-filter");
> +        if (m) {
>              g_object_set(m, "auto-connect-filter",
>                           usbredir_auto_redirect_filter, NULL);
> +        }
>      }
>      if (usbredir_redirect_on_connect) {
> -        SpiceUsbDeviceManager *m = spice_usb_device_manager_get(session,
> NULL);
> -        if (m)
> +        SpiceUsbDeviceManager *m =
> +                get_usb_device_manager_for_option(session,
> "--spice-usbredir-redirect-on-connect");
> +        if (m) {
>              g_object_set(m, "redirect-on-connect",
>                           usbredir_redirect_on_connect, NULL);
> +        }
>      }
>      if (disable_usbredir)
>          g_object_set(session, "enable-usbredir", FALSE, NULL);

Frediano


More information about the Spice-devel mailing list