diff options
Diffstat (limited to 'server')
-rw-r--r-- | server/red_channel.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/server/red_channel.c b/server/red_channel.c index 9d71543b..119e5e5b 100644 --- a/server/red_channel.c +++ b/server/red_channel.c @@ -1275,14 +1275,17 @@ static void red_channel_handle_migrate_data(RedChannelClient *rcc, uint32_t size return; } if (!red_channel_client_waits_for_migrate_data(rcc)) { - spice_error("unexcpected"); + spice_channel_client_error(rcc, "unexpected"); return; } if (rcc->channel->channel_cbs.handle_migrate_data_get_serial) { red_channel_client_set_message_serial(rcc, rcc->channel->channel_cbs.handle_migrate_data_get_serial(rcc, size, message)); } - rcc->channel->channel_cbs.handle_migrate_data(rcc, size, message); + if (!rcc->channel->channel_cbs.handle_migrate_data(rcc, size, message)) { + spice_channel_client_error(rcc, "handle_migrate_data failed"); + return; + } red_channel_client_seamless_migration_done(rcc); } |