diff --git a/server/display-channel.c b/server/display-channel.c index 512eafa7..8fbd36e4 100644 --- a/server/display-channel.c +++ b/server/display-channel.c @@ -479,12 +479,12 @@ static int current_add_equal(DisplayChannel *display, DrawItem *item, TreeItem * dpi_ring_item = ring_get_head(&other_drawable->pipes); /* dpi contains a sublist of dcc's, ordered the same */ while (link) { - dpi = SPICE_UPCAST(RedDrawablePipeItem, dpi_ring_item); for (;;) { if (!link) { goto out_loop; } dcc = link->data; + dpi = SPICE_UPCAST(RedDrawablePipeItem, dpi_ring_item); if (dpi && dcc == dpi->dcc) { if (dpi_ring_item) { dpi_ring_item = ring_next(&other_drawable->pipes, dpi_ring_item);