[Spice-devel] [PATCH spice-gtk] usb: channel-new handler to be after default handlers
Marc-André Lureau
marcandre.lureau at redhat.com
Wed Apr 29 15:59:05 PDT 2015
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
More information about the Spice-devel
mailing list