[PATCH 08/16] char device: use _reset_dev_instance() to set 'sin'

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

 



Internally, use the method to set the 'sin' member variable so that we
don't have to duplicate the g_object_notify() calls, and there are
consistent debug statements whenever this value is modified. This also
means that we need to handle NULL arguments to this function.
---
 server/char-device.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/server/char-device.c b/server/char-device.c
index 799a818..9f5877b 100644
--- a/server/char-device.c
+++ b/server/char-device.c
@@ -705,7 +705,8 @@ void red_char_device_reset_dev_instance(RedCharDevice *dev,
 {
     spice_debug("sin %p, char device %p", sin, dev);
     dev->priv->sin = sin;
-    sin->st = dev;
+    if (sin)
+        sin->st = dev;
     g_object_notify(G_OBJECT(dev), "sin");
 }
 
@@ -865,8 +866,7 @@ void red_char_device_reset(RedCharDevice *dev)
         dev_client = SPICE_CONTAINEROF(client_item, RedCharDeviceClient, link);
         red_char_device_client_send_queue_free(dev, dev_client);
     }
-    dev->priv->sin = NULL;
-    g_object_notify(G_OBJECT(dev), "sin");
+    red_char_device_reset_dev_instance(dev, NULL);
 }
 
 void red_char_device_wakeup(RedCharDevice *dev)
@@ -1089,7 +1089,7 @@ red_char_device_set_property(GObject      *object,
     switch (property_id)
     {
         case PROP_CHAR_DEV_INSTANCE:
-            self->priv->sin = g_value_get_pointer(value);
+            red_char_device_reset_dev_instance(self, g_value_get_pointer(value));
             break;
         case PROP_SPICE_SERVER:
             self->priv->reds = g_value_get_pointer(value);
-- 
2.4.11

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://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]