From e3530d3ee97df1f78c15172abb0511ce12f1175b Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Fri, 31 Mar 2017 15:11:03 -0400 Subject: [PATCH 10/13] chooser: fix duplicate entry in the list --- chooser/gdm-host-chooser-widget.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chooser/gdm-host-chooser-widget.c b/chooser/gdm-host-chooser-widget.c index f9200aa0..b8924618 100644 --- a/chooser/gdm-host-chooser-widget.c +++ b/chooser/gdm-host-chooser-widget.c @@ -246,62 +246,62 @@ decode_packet (GIOChannel *source, } if (! XdmcpReadARRAY8 (&buf, &stat)) { goto done; } status = g_strndup ((char *) stat.data, MIN (stat.length, 256)); } else if (header.opcode == UNWILLING) { /* immaterial, will not be shown */ status = NULL; } else { goto done; } g_debug ("STATUS: %s", status); chooser_host = find_known_host (widget, address); if (chooser_host == NULL) { chooser_host = g_object_new (GDM_TYPE_CHOOSER_HOST, "address", address, "description", status, "willing", (header.opcode == WILLING), "kind", GDM_CHOOSER_HOST_KIND_XDMCP, NULL); chooser_host_add (widget, chooser_host); browser_add_host (widget, chooser_host); } else { /* server changed it's mind */ if (header.opcode == WILLING && ! gdm_chooser_host_get_willing (chooser_host)) { - g_object_set (chooser_host, "willing", TRUE, NULL); browser_add_host (widget, chooser_host); + g_object_set (chooser_host, "willing", TRUE, NULL); } /* FIXME: handle unwilling? */ } done: if (header.opcode == WILLING) { XdmcpDisposeARRAY8 (&auth); XdmcpDisposeARRAY8 (&host); XdmcpDisposeARRAY8 (&stat); } g_free (status); gdm_address_free (address); return TRUE; } static void do_ping (GdmHostChooserWidget *widget, gboolean full) { GSList *l; g_debug ("do ping full:%d", full); for (l = widget->priv->broadcast_addresses; l != NULL; l = l->next) { GdmAddress *address; int res; address = l->data; -- 2.12.0