[Spice-devel] [RFC v4 35/62] server/red_worker: more removal of direct rcc access
Alon Levy
alevy at redhat.com
Tue Apr 26 03:55:00 PDT 2011
---
server/red_worker.c | 21 +++++++++++++--------
1 files changed, 13 insertions(+), 8 deletions(-)
diff --git a/server/red_worker.c b/server/red_worker.c
index 3581173..79fffd1 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -8489,7 +8489,8 @@ void red_disconnect_all_display_TODO_remove_me(RedChannel *channel)
static void red_migrate_display(RedWorker *worker)
{
if (worker->display_channel) {
- red_pipe_add_verb(worker->display_channel->common.base.rcc, SPICE_MSG_DISPLAY_STREAM_DESTROY_ALL);
+ red_pipes_add_verb(&worker->display_channel->common.base,
+ SPICE_MSG_DISPLAY_STREAM_DESTROY_ALL);
red_channel_pipes_add_type(&worker->display_channel->common.base, PIPE_ITEM_TYPE_MIGRATE);
}
}
@@ -9584,9 +9585,11 @@ static void red_disconnect_cursor(RedChannel *channel)
static void red_migrate_cursor(RedWorker *worker)
{
- if (worker->cursor_channel) {
- red_channel_client_pipe_add_type(worker->cursor_channel->common.base.rcc, PIPE_ITEM_TYPE_INVAL_CURSOR_CACHE);
- red_channel_client_pipe_add_type(worker->cursor_channel->common.base.rcc, PIPE_ITEM_TYPE_MIGRATE);
+ if (cursor_connected(worker)) {
+ red_channel_pipes_add_type(&worker->cursor_channel->common.base,
+ PIPE_ITEM_TYPE_INVAL_CURSOR_CACHE);
+ red_channel_pipes_add_type(&worker->cursor_channel->common.base,
+ PIPE_ITEM_TYPE_MIGRATE);
}
}
@@ -10006,13 +10009,15 @@ static inline void handle_dev_create_primary_surface(RedWorker *worker)
surface.height, surface.stride, surface.format,
line_0, surface.flags & QXL_SURF_FLAG_KEEP_DATA);
- if (worker->display_channel) {
- red_pipe_add_verb(worker->display_channel->common.base.rcc, SPICE_MSG_DISPLAY_MARK);
+ if (display_connected(worker)) {
+ red_pipes_add_verb(&worker->display_channel->common.base,
+ SPICE_MSG_DISPLAY_MARK);
red_channel_push(&worker->display_channel->common.base);
}
- if (worker->cursor_channel) {
- red_channel_client_pipe_add_type(worker->cursor_channel->common.base.rcc, PIPE_ITEM_TYPE_CURSOR_INIT);
+ if (cursor_connected(worker)) {
+ red_channel_pipes_add_type(&worker->cursor_channel->common.base,
+ PIPE_ITEM_TYPE_CURSOR_INIT);
}
message = RED_WORKER_MESSAGE_READY;
--
1.7.4.4
More information about the Spice-devel
mailing list