diff options
Diffstat (limited to 'src/virt-viewer-session-spice.c')
-rw-r--r-- | src/virt-viewer-session-spice.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/virt-viewer-session-spice.c b/src/virt-viewer-session-spice.c index d11d7a1..4a8c9cf 100644 --- a/src/virt-viewer-session-spice.c +++ b/src/virt-viewer-session-spice.c @@ -448,10 +448,8 @@ virt_viewer_session_spice_channel_new(SpiceSession *s, g_signal_emit_by_name(session, "session-connected"); DEBUG_LOG("new display channel (#%d)", id); - display = virt_viewer_display_spice_new(self, - channel, - spice_display_new(s, id)); - + display = virt_viewer_display_spice_new(self, channel); + g_object_set_data(G_OBJECT(channel), "virt-viewer-display", display); virt_viewer_session_add_display(VIRT_VIEWER_SESSION(session), VIRT_VIEWER_DISPLAY(display)); @@ -533,7 +531,9 @@ virt_viewer_session_spice_channel_destroy(G_GNUC_UNUSED SpiceSession *s, } if (SPICE_IS_DISPLAY_CHANNEL(channel)) { - DEBUG_LOG("zap session channel (#%d)", id); + VirtViewerDisplay *display = g_object_get_data(G_OBJECT(channel), "virt-viewer-display"); + DEBUG_LOG("zap display channel (#%d, %p)", id, display); + virt_viewer_session_remove_display(session, display); } if (SPICE_IS_PLAYBACK_CHANNEL(channel) && self->priv->audio) { |