[Spice-devel] [spice-gtk Win32 PATCH 5/7] Windows usb: Comment out some memory cleanups not working on Windows

Uri Lublin uril at redhat.com
Mon May 7 06:15:37 PDT 2012


It's not nice, but better than crashing.
---
 gtk/usb-device-manager.c |    9 +++++++++
 gtk/usbutil.c            |    1 +
 2 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/gtk/usb-device-manager.c b/gtk/usb-device-manager.c
index b60f1f0..377b774 100644
--- a/gtk/usb-device-manager.c
+++ b/gtk/usb-device-manager.c
@@ -143,9 +143,14 @@ static void spice_usb_device_manager_init(SpiceUsbDeviceManager *self)

     priv->channels = g_ptr_array_new();
 #ifdef USE_USBREDIR
+#ifdef WIN32
+    /* FIXME WIN32 use g_ptr_array_new_with_free_func */
+    priv->devices  = g_ptr_array_new();
+#else
     priv->devices  = g_ptr_array_new_with_free_func((GDestroyNotify)
                                                     libusb_unref_device);
 #endif
+#endif
 }

 static gboolean spice_usb_device_manager_initable_init(GInitable  *initable,
@@ -206,6 +211,8 @@ static gboolean spice_usb_device_manager_initable_init(GInitable  *initable,
     g_signal_connect(G_OBJECT(priv->udev), "uevent",
                      G_CALLBACK(spice_usb_device_manager_uevent_cb), self);

+/* FIXME: fix coldplug for WIN32 */
+#ifndef WIN32
     /* Do coldplug (detection of already connected devices) */
     libusb_get_device_list(priv->context, &priv->coldplug_list);
     list = g_udev_client_query_by_subsystem(priv->udev, "usb");
@@ -216,6 +223,7 @@ static gboolean spice_usb_device_manager_initable_init(GInitable  *initable,
     g_list_free(list);
     libusb_free_device_list(priv->coldplug_list, 1);
     priv->coldplug_list = NULL;
+#endif

     return TRUE;
 #else
@@ -235,6 +243,7 @@ static void spice_usb_device_manager_finalize(GObject *gobject)
         g_ptr_array_unref(priv->devices);

 #ifdef USE_USBREDIR
+/* FIXME: verify WIN32 cleanup*/
     g_clear_object(&priv->udev);
     if (priv->context)
         libusb_exit(priv->context);
diff --git a/gtk/usbutil.c b/gtk/usbutil.c
index 704f973..fd3d2de 100644
--- a/gtk/usbutil.c
+++ b/gtk/usbutil.c
@@ -233,6 +233,7 @@ void spice_usb_util_get_device_strings(int bus, int address,
     *manufacturer = NULL;
     *product = NULL;

+/* FIXME: add windows support for "manufacturer" & "product" */
 #if __linux__
     *manufacturer = spice_usbutil_get_sysfs_attribute(bus, address, "manufacturer");
     *product = spice_usbutil_get_sysfs_attribute(bus, address, "product");
-- 
1.7.7.6



More information about the Spice-devel mailing list