[Spice-devel] [spice-gtk v3] spice-option: warn on command line failures of usbredir
Victor Toso
victortoso at redhat.com
Thu Jul 25 11:58:58 UTC 2019
From: Victor Toso <me at victortoso.com>
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);
--
2.21.0
More information about the Spice-devel
mailing list