diff --git a/src/ovirt-foreign-menu.c b/src/ovirt-foreign-menu.c index 0de13e5..7c95e4c 100644 --- a/src/ovirt-foreign-menu.c +++ b/src/ovirt-foreign-menu.c @@ -467,6 +467,9 @@ GtkWidget *ovirt_foreign_menu_get_gtk_menu(OvirtForeignMenu *foreign_menu) char *current_iso; g_debug("Creating GtkMenu for foreign menu"); + if (foreign_menu->priv->iso_names == NULL) { + return NULL; + } current_iso = ovirt_foreign_menu_get_current_iso_name(foreign_menu); gtk_menu = gtk_menu_new(); for (it = foreign_menu->priv->iso_names; it != NULL; it = it->next) { diff --git a/src/remote-viewer.c b/src/remote-viewer.c index 3c81650..12bd912 100644 --- a/src/remote-viewer.c +++ b/src/remote-viewer.c @@ -757,7 +757,12 @@ ovirt_foreign_menu_update(RemoteViewer *app, VirtViewerWindow *win) } submenu = ovirt_foreign_menu_get_gtk_menu(app->priv->ovirt_foreign_menu); - gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu), submenu); + if (submenu != NULL) { + gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu), submenu); + } else { + /* No items to show, no point in showing the menu */ + g_object_set_data(G_OBJECT(win), "foreign-menu", NULL); + } gtk_widget_show_all(menu); }