<div dir="ltr">ping</div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jul 5, 2017 at 8:21 AM, Yuri Benditovich <span dir="ltr"><<a href="mailto:yuri.benditovich@daynix.com" target="_blank">yuri.benditovich@daynix.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><a href="https://bugzilla.redhat.com/show_bug.cgi?id=1425961" rel="noreferrer" target="_blank">https://bugzilla.redhat.com/<wbr>show_bug.cgi?id=1425961</a><br>
If attached new device when one device with the same vid<br>
and pid already present, the notification is ignored and<br>
attached device is not redirected (if auto share set) and<br>
not displayed in USB devices widget.<br>
<br>
This commit reverts older commit f9631cd6f8, which was<br>
intended to solve problem when bus:addr is sometimes changed when<br>
using WinUSB. The same commit creates the limitation for automatic<br>
redirection of second device with the same pid:vid.<br>
Now the preferred backend for Spice-GTK on Windows is UsbDk.<br>
In case users of newer WinUSB will still need backward compatible<br>
behavior, consider backend-aware comparison procedure.<br>
<br>
Signed-off-by: Yuri Benditovich <<a href="mailto:yuri.benditovich@daynix.com">yuri.benditovich@daynix.com</a>><br>
---<br>
 src/win-usb-dev.c | 12 ++++++------<br>
 1 file changed, 6 insertions(+), 6 deletions(-)<br>
<br>
diff --git a/src/win-usb-dev.c b/src/win-usb-dev.c<br>
index ec3dd91..e2d77b3 100644<br>
--- a/src/win-usb-dev.c<br>
+++ b/src/win-usb-dev.c<br>
@@ -380,20 +380,20 @@ static gboolean get_usb_dev_info(libusb_device *dev, GUdevDeviceInfo *udevinfo)<br>
     return TRUE;<br>
 }<br>
<br>
-/* Only vid:pid are compared */<br>
+/* Only bus:addr are compared */<br>
 static gint gudev_devices_differ(<wbr>gconstpointer a, gconstpointer b)<br>
 {<br>
     GUdevDeviceInfo *ai, *bi;<br>
-    gboolean same_vid;<br>
-    gboolean same_pid;<br>
+    gboolean same_bus;<br>
+    gboolean same_addr;<br>
<br>
     ai = G_UDEV_DEVICE(a)->priv-><wbr>udevinfo;<br>
     bi = G_UDEV_DEVICE(b)->priv-><wbr>udevinfo;<br>
<br>
-    same_vid  = (ai->vid == bi->vid);<br>
-    same_pid  = (ai->pid == bi->pid);<br>
+    same_bus = (ai->bus == bi->bus);<br>
+    same_addr = (ai->addr == bi->addr);<br>
<br>
-    return (same_pid && same_vid) ? 0 : -1;<br>
+    return (same_bus && same_addr) ? 0 : -1;<br>
 }<br>
<br>
 static void notify_dev_state_change(<wbr>GUdevClient *self,<br>
<span class="HOEnZb"><font color="#888888">--<br>
2.9.4<br>
<br>
</font></span></blockquote></div><br></div>