summaryrefslogtreecommitdiffstats
path: root/src/virt-viewer-display-vnc.c
diff options
context:
space:
mode:
authorJonathon Jongsma <jjongsma@redhat.com>2014-01-31 14:48:35 -0600
committerJonathon Jongsma <jjongsma@redhat.com>2014-02-13 09:09:13 -0600
commit51c3a0decf21e9cfc200e20ad6635f39262efdf9 (patch)
tree2358cfed16780f5eabddad4ba2a821d87281906c /src/virt-viewer-display-vnc.c
parented9b3f3450832c0b17b80468748aff4bddfcec34 (diff)
downloadvirt-viewer-51c3a0decf21e9cfc200e20ad6635f39262efdf9.tar.gz
virt-viewer-51c3a0decf21e9cfc200e20ad6635f39262efdf9.tar.xz
virt-viewer-51c3a0decf21e9cfc200e20ad6635f39262efdf9.zip
Don't set VNC display to ready until vnc is initialized
We were setting the show_hint to READY as soon as we got the vnc-connected signal. But there may be an authentication step between vnc-connected and vnc-initialized. In this case, we switch to an empty black display during the authentication step instead of showing the 'waiting for display N' status.
Diffstat (limited to 'src/virt-viewer-display-vnc.c')
-rw-r--r--src/virt-viewer-display-vnc.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/virt-viewer-display-vnc.c b/src/virt-viewer-display-vnc.c
index 32119bc..3a1cc06 100644
--- a/src/virt-viewer-display-vnc.c
+++ b/src/virt-viewer-display-vnc.c
@@ -113,6 +113,14 @@ virt_viewer_display_vnc_key_ungrab(VncDisplay *vnc G_GNUC_UNUSED,
}
static void
+virt_viewer_display_vnc_initialized(VncDisplay *vnc G_GNUC_UNUSED,
+ VirtViewerDisplay *display)
+{
+ virt_viewer_display_set_show_hint(display,
+ VIRT_VIEWER_DISPLAY_SHOW_HINT_READY, TRUE);
+}
+
+static void
virt_viewer_display_vnc_send_keys(VirtViewerDisplay* display,
const guint *keyvals,
int nkeyvals)
@@ -194,6 +202,8 @@ virt_viewer_display_vnc_new(VncDisplay *vnc)
G_CALLBACK(virt_viewer_display_vnc_key_grab), display);
g_signal_connect(display->priv->vnc, "vnc-keyboard-ungrab",
G_CALLBACK(virt_viewer_display_vnc_key_ungrab), display);
+ g_signal_connect(display->priv->vnc, "vnc-initialized",
+ G_CALLBACK(virt_viewer_display_vnc_initialized), display);
return GTK_WIDGET(display);
}