diff --git a/server/red-worker.c b/server/red-worker.c index eb927f3e..541110f8 100644 --- a/server/red-worker.c +++ b/server/red-worker.c @@ -527,7 +527,8 @@ static void dev_create_primary_surface(RedWorker *worker, uint32_t surface_id, line_0, surface.flags & QXL_SURF_FLAG_KEEP_DATA, TRUE); display_channel_set_monitors_config_to_primary(display); - CommonGraphicsChannel *common = COMMON_GRAPHICS_CHANNEL(worker->display_channel); + CommonGraphicsChannel *common = COMMON_GRAPHICS_CHANNEL(display); + RedChannel *channel = RED_CHANNEL(display); if (display_is_connected(worker) && !common_graphics_channel_get_during_target_migrate(common)) { /* guest created primary, so it will (hopefully) send a monitors_config @@ -535,9 +536,8 @@ static void dev_create_primary_surface(RedWorker *worker, uint32_t surface_id, if (!worker->driver_cap_monitors_config) { display_channel_push_monitors_config(display); } - red_channel_pipes_add_empty_msg(RED_CHANNEL(worker->display_channel), - SPICE_MSG_DISPLAY_MARK); - red_channel_push(RED_CHANNEL(worker->display_channel)); + red_channel_pipes_add_empty_msg(channel, SPICE_MSG_DISPLAY_MARK); + red_channel_push(channel); } cursor_channel_do_init(worker->cursor_channel);