diff --git a/server/cursor-channel.c b/server/cursor-channel.c index 8db3e86b..d61cf480 100644 --- a/server/cursor-channel.c +++ b/server/cursor-channel.c @@ -75,7 +75,6 @@ static void cursor_pipe_item_free(RedPipeItem *base) RedCursorPipeItem *pipe_item = SPICE_UPCAST(RedCursorPipeItem, base); cursor_cmd = pipe_item->red_cursor; - red_qxl_release_resource(pipe_item->qxl, cursor_cmd->release_info_ext); red_put_cursor_cmd(cursor_cmd); free(cursor_cmd); diff --git a/server/red-worker.c b/server/red-worker.c index 675c232e..5756bfd8 100644 --- a/server/red-worker.c +++ b/server/red-worker.c @@ -112,6 +112,7 @@ static gboolean red_process_cursor_cmd(RedWorker *worker, const QXLCommandExt *e free(cursor_cmd); return FALSE; } + red_qxl_release_resource(worker->qxl, cursor_cmd->release_info_ext); cursor_channel_process_cmd(worker->cursor_channel, cursor_cmd); return TRUE; }