Otherwise, we will not create smartcard/usb channel on the destination side, and we will create audio channels, no matter if they existed of didn't exist for the src side. --- gtk/spice-channel.c | 12 +++--------- gtk/spice-session.c | 3 +++ gtk/usb-device-manager.c | 4 +--- 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/gtk/spice-channel.c b/gtk/spice-channel.c index a557ce8..7e23bfe 100644 --- a/gtk/spice-channel.c +++ b/gtk/spice-channel.c @@ -1912,9 +1912,7 @@ SpiceChannel *spice_channel_new(SpiceSession *s, int type, int id) break; case SPICE_CHANNEL_PLAYBACK: case SPICE_CHANNEL_RECORD: { - gboolean enabled; - g_object_get(G_OBJECT(s), "enable-audio", &enabled, NULL); - if (!enabled) { + if (!s->priv->audio) { g_debug("audio channel is disabled, not creating it"); return NULL; } @@ -1924,9 +1922,7 @@ SpiceChannel *spice_channel_new(SpiceSession *s, int type, int id) } #ifdef USE_SMARTCARD case SPICE_CHANNEL_SMARTCARD: { - gboolean enabled; - g_object_get(G_OBJECT(s), "enable-smartcard", &enabled, NULL); - if (!enabled) { + if (!s->priv->smartcard) { g_debug("smartcard channel is disabled, not creating it"); return NULL; } @@ -1936,9 +1932,7 @@ SpiceChannel *spice_channel_new(SpiceSession *s, int type, int id) #endif #ifdef USE_USBREDIR case SPICE_CHANNEL_USBREDIR: { - gboolean enabled; - g_object_get(G_OBJECT(s), "enable-usbredir", &enabled, NULL); - if (!enabled) { + if (!s->priv->usbredir) { g_debug("usbredir channel is disabled, not creating it"); return NULL; } diff --git a/gtk/spice-session.c b/gtk/spice-session.c index f714676..b6c7642 100644 --- a/gtk/spice-session.c +++ b/gtk/spice-session.c @@ -1089,6 +1089,9 @@ SpiceSession *spice_session_new_from_session(SpiceSession *session) "verify", &c->verify, "smartcard-certificates", &c->smartcard_certificates, "smartcard-db", &c->smartcard_db, + "enable-smartcard", &c->smartcard, + "enable-audio", &c->audio, + "enable-usbredir", &c->usbredir, NULL); c->client_provided_sockets = s->client_provided_sockets; diff --git a/gtk/usb-device-manager.c b/gtk/usb-device-manager.c index bdef24e..6358da8 100644 --- a/gtk/usb-device-manager.c +++ b/gtk/usb-device-manager.c @@ -1215,14 +1215,12 @@ spice_usb_device_manager_can_redirect_device(SpiceUsbDeviceManager *self, const struct usbredirfilter_rule *guest_filter_rules = NULL; SpiceUsbDeviceManagerPrivate *priv = self->priv; int i, guest_filter_rules_count; - gboolean enabled; g_return_val_if_fail(SPICE_IS_USB_DEVICE_MANAGER(self), FALSE); g_return_val_if_fail(device != NULL, FALSE); g_return_val_if_fail(err == NULL || *err == NULL, FALSE); - g_object_get(G_OBJECT(priv->session), "enable-usbredir", &enabled, NULL); - if (!enabled) { + if (!priv->session->priv->usbredir) { g_set_error_literal(err, SPICE_CLIENT_ERROR, SPICE_CLIENT_ERROR_FAILED, _("USB redirection is disabled")); return FALSE; -- 1.7.7.6 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel