41 lines
1.5 KiB
Diff
41 lines
1.5 KiB
Diff
From 9546b571d7143e4c9efcb022d6016ea1c9ed2536 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>
|
|
Date: Tue, 28 Apr 2015 14:30:28 +0200
|
|
Subject: [PATCH spice-gtk] usb: channel-new handler to be after default
|
|
handlers
|
|
|
|
Client usually connect to channel-new to connect their
|
|
handlers, such as open-fd.
|
|
|
|
The usbmanager channel-new handler will call channel_connect() on usbredir
|
|
channels, which may call open-fd.
|
|
|
|
However, open-fd can be emitted before the client had a chance to
|
|
connect their handlers (from the channel-new callback).
|
|
|
|
Connecting after the default handler solves this case.
|
|
|
|
Fixes:
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=748665
|
|
---
|
|
gtk/usb-device-manager.c | 3 +--
|
|
1 file changed, 1 insertion(+), 2 deletions(-)
|
|
|
|
diff --git a/gtk/usb-device-manager.c b/gtk/usb-device-manager.c
|
|
index e11eae0..7aa60c4 100644
|
|
--- a/gtk/usb-device-manager.c
|
|
+++ b/gtk/usb-device-manager.c
|
|
@@ -310,8 +310,7 @@ static gboolean spice_usb_device_manager_initable_init(GInitable *initable,
|
|
#endif
|
|
|
|
/* Start listening for usb channels connect/disconnect */
|
|
- g_signal_connect(priv->session, "channel-new",
|
|
- G_CALLBACK(channel_new), self);
|
|
+ spice_g_signal_connect_object(priv->session, "channel-new", G_CALLBACK(channel_new), self, G_CONNECT_AFTER);
|
|
g_signal_connect(priv->session, "channel-destroy",
|
|
G_CALLBACK(channel_destroy), self);
|
|
list = spice_session_get_channels(priv->session);
|
|
--
|
|
2.1.0
|
|
|