There was a chance that on error GQueue were not initialized but an attempt to destroy it is made. This assure GQueue is initialized as soon as possible. Note that red_channel_client_initable_init is called after all init and construction callbacks. Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx> --- server/red-channel-client.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server/red-channel-client.c b/server/red-channel-client.c index c562e8e..3b2c24c 100644 --- a/server/red-channel-client.c +++ b/server/red-channel-client.c @@ -354,6 +354,8 @@ red_channel_client_init(RedChannelClient *self) self->priv->send_data.urgent.marshaller = spice_marshaller_new(); self->priv->send_data.marshaller = self->priv->send_data.main.marshaller; + + g_queue_init(&self->priv->pipe); } RedChannel* red_channel_client_get_channel(RedChannelClient *rcc) @@ -907,7 +909,6 @@ static gboolean red_channel_client_initable_init(GInitable *initable, self->priv->outgoing.pos = 0; self->priv->outgoing.size = 0; - g_queue_init(&self->priv->pipe); if (self->priv->stream) self->priv->stream->watch = core->watch_add(core, self->priv->stream->socket, -- 2.7.4 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel