[spice-gtk Win32 v4 16/17] usb-device-manager: mingw: ignore "remove" udev event when un/installing a driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



---
 gtk/usb-device-manager.c |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/gtk/usb-device-manager.c b/gtk/usb-device-manager.c
index e032f24..3f0da77 100644
--- a/gtk/usb-device-manager.c
+++ b/gtk/usb-device-manager.c
@@ -718,6 +718,16 @@ static void spice_usb_device_manager_remove_dev(SpiceUsbDeviceManager  *self,
         return;
     }

+#ifdef G_OS_WIN32
+    const guint8 state = spice_usb_device_get_state(device);
+    if ((state == SPICE_USB_DEVICE_STATE_INSTALLING) ||
+        (state == SPICE_USB_DEVICE_STATE_UNINSTALLING)) {
+        g_warning("skipping device at %d.%d. It is installing it's driver",
+                  bus, address);
+        return;
+    }
+#endif
+
     spice_usb_device_manager_disconnect_device(self, (SpiceUsbDevice *)device);

     SPICE_DEBUG("device removed %p", device);
@@ -815,7 +825,6 @@ static void spice_usb_device_manager_drv_install_cb(GObject *gobject,

     g_object_unref(installer);

-    /* for only UN/INSTALL is of interest */
     spice_usb_device_set_state(device, SPICE_USB_DEVICE_STATE_NONE);

     if (err) {
-- 
1.7.7.6

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]