spice-gtk/0003-usb-channel-new-handler-to-be-after-default-handlers.patch

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