summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@redhat.com>2014-11-08 14:30:01 +0100
committerMarc-André Lureau <marcandre.lureau@redhat.com>2014-11-21 10:06:59 +0100
commitdc80df0c51079dd938c1a1465c2a0fa30feddced (patch)
tree364de05d3cb21d9c719ab85ad58b208fb5250c09
parent673dabb26bd32f00ea90f358ce70161c3ae73cc6 (diff)
migration: add a few more pre-conditions in migration code
Those preconditions help to figure out several issues related to migration.
-rw-r--r--gtk/channel-main.c2
-rw-r--r--gtk/spice-channel.c3
2 files changed, 5 insertions, 0 deletions
diff --git a/gtk/channel-main.c b/gtk/channel-main.c
index 1ad090f..62e8905 100644
--- a/gtk/channel-main.c
+++ b/gtk/channel-main.c
@@ -2074,6 +2074,8 @@ static gboolean migrate_connect(gpointer data)
g_return_val_if_fail(c != NULL, FALSE);
session = spice_channel_get_session(mig->src_channel);
+ g_return_val_if_fail(session->priv->migration == NULL, FALSE);
+
mig->session = spice_session_new_from_session(session);
mig->session->priv->migration_copy = true;
diff --git a/gtk/spice-channel.c b/gtk/spice-channel.c
index 6c24bf5..fd52683 100644
--- a/gtk/spice-channel.c
+++ b/gtk/spice-channel.c
@@ -2500,6 +2500,8 @@ gboolean spice_channel_connect(SpiceChannel *channel)
if (c->state >= SPICE_CHANNEL_STATE_CONNECTING)
return TRUE;
+ g_return_val_if_fail(channel->priv->fd == -1, FALSE);
+
return channel_connect(channel);
}
@@ -2522,6 +2524,7 @@ gboolean spice_channel_open_fd(SpiceChannel *channel, int fd)
g_return_val_if_fail(SPICE_IS_CHANNEL(channel), FALSE);
g_return_val_if_fail(channel->priv != NULL, FALSE);
+ g_return_val_if_fail(channel->priv->fd == -1, FALSE);
g_return_val_if_fail(fd >= -1, FALSE);
c = channel->priv;