> > 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); Acked-by: Frediano Ziglio <fziglio@xxxxxxxxxx> Frediano _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel