[virt-tools-list] [virt-viewer] spice: avoid crashing when using multi-seat
Fabiano Fidêncio
fidencio at redhat.com
Tue Mar 15 15:51:41 UTC 2016
As multi-seat configuration is not supported by spice, the best we can
do for now is avoid crashing on this setup.
Resolves: rhbz#1250820
Signed-off-by: Fabiano Fidêncio <fidencio at redhat.com>
---
src/virt-viewer-session-spice.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/virt-viewer-session-spice.c b/src/virt-viewer-session-spice.c
index dc0c1ff..a3014a8 100644
--- a/src/virt-viewer-session-spice.c
+++ b/src/virt-viewer-session-spice.c
@@ -836,8 +836,11 @@ static void
destroy_display(gpointer data)
{
VirtViewerDisplay *display = VIRT_VIEWER_DISPLAY(data);
- VirtViewerSession *session = virt_viewer_display_get_session(display);
+ VirtViewerSession *session;
+ g_return_if_fail (display != NULL);
+
+ session = virt_viewer_display_get_session(display);
g_debug("Destroying spice display %p", display);
virt_viewer_session_remove_display(session, display);
g_object_unref(display);
@@ -886,6 +889,9 @@ virt_viewer_session_spice_display_monitors(SpiceChannel *channel,
display = g_ptr_array_index(displays, i);
if (display == NULL) {
display = virt_viewer_display_spice_new(self, channel, i);
+ if (display == NULL)
+ continue;
+
g_debug("creating spice display (#:%d)",
virt_viewer_display_get_nth(VIRT_VIEWER_DISPLAY(display)));
g_ptr_array_index(displays, i) = g_object_ref_sink(display);
--
2.5.0
More information about the virt-tools-list
mailing list