From 529980e8d3fd7d5c042ad071b63a3fbd75ef456c Mon Sep 17 00:00:00 2001 From: Pavel Grunt Date: Fri, 22 Jan 2016 14:54:01 +0100 Subject: app: Do not show usbredir button without session The button is visible in the fullscreen toolbar when waiting for a guest. Clicking on it causes the runtime warning: virt-viewer-CRITICAL **: virt_viewer_session_usb_device_selection: assertion 'VIRT_VIEWER_IS_SESSION(self)' failed --- src/virt-viewer-app.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/virt-viewer-app.c b/src/virt-viewer-app.c index 42c2ac8..c49d3e8 100644 --- a/src/virt-viewer-app.c +++ b/src/virt-viewer-app.c @@ -908,6 +908,13 @@ viewer_window_focus_out_cb(GtkWindow *window G_GNUC_UNUSED, return FALSE; } +static gboolean +virt_viewer_app_has_usbredir(VirtViewerApp *self) +{ + return virt_viewer_app_has_session(self) && + virt_viewer_session_get_has_usbredir(virt_viewer_app_get_session(self)); +} + static VirtViewerWindow* virt_viewer_app_window_new(VirtViewerApp *self, gint nth) { @@ -926,10 +933,7 @@ virt_viewer_app_window_new(VirtViewerApp *self, gint nth) self->priv->windows = g_list_append(self->priv->windows, window); virt_viewer_app_set_window_subtitle(self, window, nth); virt_viewer_app_update_menu_displays(self); - if (self->priv->session) { - virt_viewer_window_set_usb_options_sensitive(window, - virt_viewer_session_get_has_usbredir(self->priv->session)); - } + virt_viewer_window_set_usb_options_sensitive(window, virt_viewer_app_has_usbredir(self)); g_signal_emit(self, signals[SIGNAL_WINDOW_ADDED], 0, window); -- cgit