Re: [PATCH spice-gtk 08/14] usb: remove useless device ref/unref

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

 



On 04/23/2014 09:09 PM, Marc-André Lureau wrote:
A code doing an unref() on an object just before manipulating it looks
horribly suspicious...

Suspicious indeed.

But probably it's better to move the unref below instead of removing the ref/unref (see below).

A device is ref'ed when install/uninstall starts and is unref'ed when install/uninstall finishes.

Possibly during install the ref is not needed (as there is another ref for the redir operation),
but I think it is needed during uninstall.

Thanks,
    Uri.

-----

diff --git a/gtk/usb-device-manager.c b/gtk/usb-device-manager.c
index 1051d10..d8bfdd8 100644
--- a/gtk/usb-device-manager.c
+++ b/gtk/usb-device-manager.c
@@ -1105,8 +1105,6 @@ static void spice_usb_device_manager_drv_install_cb(GObject *gobject,

     status = spice_win_usb_driver_install_finish(installer, res, &err);

-    spice_usb_device_unref(device);
-
     if (is_install) {
spice_usb_device_set_state(device, SPICE_USB_DEVICE_STATE_INSTALLED);
     } else {
@@ -1122,6 +1120,8 @@ static void spice_usb_device_manager_drv_install_cb(GObject *gobject,
         g_warning("failed to %s win usb driver (status=0)", opstr);
     }

+    spice_usb_device_unref(device);
+
     if (! is_install) {
         return;
     }

_______________________________________________
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]