summaryrefslogtreecommitdiffstats
path: root/src/virt-viewer-display-vnc.c
diff options
context:
space:
mode:
authorLukas Venhoda <lvenhoda@redhat.com>2015-04-29 17:39:21 +0200
committerPavel Grunt <pgrunt@redhat.com>2015-05-21 13:06:30 +0200
commit772698a8a6e34c0b5051a3519f9284313426c1ca (patch)
tree6812071f28ad6b488c36ba077b45799ad6d7e35f /src/virt-viewer-display-vnc.c
parent35c5f7f745fe32b4843c43d9dc34d59e13c867e8 (diff)
downloadvirt-viewer-772698a8a6e34c0b5051a3519f9284313426c1ca.tar.gz
virt-viewer-772698a8a6e34c0b5051a3519f9284313426c1ca.tar.xz
virt-viewer-772698a8a6e34c0b5051a3519f9284313426c1ca.zip
virt-viewer-display-vnc: Set guest name when using VNC
If it's not already set, set guest name field in virt-viewer-app when using VNC. Wait for VNC to be initialized (virt_viewer_display_vnc_initialized()). In this callback get field guest name from app and check whether it was already set before (FE from libvirt). If not, set the guest name to name provided by VNC from vnc_display_get_name(). This fill fix issue in remote-viewer: Guest name is Unknown when using VNC.
Diffstat (limited to 'src/virt-viewer-display-vnc.c')
-rw-r--r--src/virt-viewer-display-vnc.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/virt-viewer-display-vnc.c b/src/virt-viewer-display-vnc.c
index 6605b1b..5b57a32 100644
--- a/src/virt-viewer-display-vnc.c
+++ b/src/virt-viewer-display-vnc.c
@@ -116,9 +116,23 @@ static void
virt_viewer_display_vnc_initialized(VncDisplay *vnc G_GNUC_UNUSED,
VirtViewerDisplay *display)
{
+ gchar *name = NULL;
+ VirtViewerSession *session = virt_viewer_display_get_session(display);
+ VirtViewerApp *app = virt_viewer_session_get_app(session);
+
+ g_object_get(app, "guest-name", &name, NULL);
+ if (name == NULL || *name == '\0') {
+ const gchar * vnc_name = vnc_display_get_name(vnc);
+ if (vnc_name != NULL) {
+ g_object_set(app, "guest-name", vnc_name, NULL);
+ }
+ }
+
virt_viewer_display_set_show_hint(display,
VIRT_VIEWER_DISPLAY_SHOW_HINT_READY, TRUE);
g_signal_emit_by_name(display, "display-desktop-resize");
+
+ g_free(name);
}
static void