From: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx> --- src/virt-viewer-display-spice.c | 5 +++-- src/virt-viewer-display.c | 2 ++ src/virt-viewer-display.h | 1 + 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/virt-viewer-display-spice.c b/src/virt-viewer-display-spice.c index 4ce8641..c589909 100644 --- a/src/virt-viewer-display-spice.c +++ b/src/virt-viewer-display-spice.c @@ -99,14 +99,15 @@ show_hint_changed(VirtViewerDisplay *self) { SpiceMainChannel *main_channel = get_main(self); guint enabled = TRUE; - guint nth; + guint nth, hint = virt_viewer_display_get_show_hint(self); /* this may happen when finalizing */ if (!main_channel) return; g_object_get(self, "nth-display", &nth, NULL); - if (virt_viewer_display_get_show_hint(self) & VIRT_VIEWER_DISPLAY_SHOW_HINT_DISABLED) + if (!(hint & VIRT_VIEWER_DISPLAY_SHOW_HINT_SET) || + hint & VIRT_VIEWER_DISPLAY_SHOW_HINT_DISABLED) enabled = FALSE; spice_main_set_display_enabled(main_channel, nth, enabled); diff --git a/src/virt-viewer-display.c b/src/virt-viewer-display.c index e509092..3ec79d6 100644 --- a/src/virt-viewer-display.c +++ b/src/virt-viewer-display.c @@ -600,6 +600,8 @@ void virt_viewer_display_set_enabled(VirtViewerDisplay *self, gboolean enabled) { g_return_if_fail(VIRT_VIEWER_IS_DISPLAY(self)); + virt_viewer_display_set_show_hint(self, VIRT_VIEWER_DISPLAY_SHOW_HINT_SET, TRUE); + virt_viewer_display_set_show_hint(self, VIRT_VIEWER_DISPLAY_SHOW_HINT_DISABLED, !enabled); } diff --git a/src/virt-viewer-display.h b/src/virt-viewer-display.h index 17b44a9..fd238c5 100644 --- a/src/virt-viewer-display.h +++ b/src/virt-viewer-display.h @@ -58,6 +58,7 @@ typedef struct _VirtViewerDisplayChannel VirtViewerDisplayChannel; typedef enum { VIRT_VIEWER_DISPLAY_SHOW_HINT_READY = 1 << 0, VIRT_VIEWER_DISPLAY_SHOW_HINT_DISABLED = 1 << 1, + VIRT_VIEWER_DISPLAY_SHOW_HINT_SET = 1 << 2, } VirtViewerDisplayShowHintFlags; /* perhaps this become an interface, and be pushed in gtkvnc and spice? */ -- 1.8.1.1.439.g50a6b54 _______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list