From 19243c247d8a89c6467bd21109b7f0d4b1cb081a Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Wed, 15 Sep 2010 10:22:13 -0400 Subject: [PATCH] GNetworkService: fix iteration of multiple addresses Previously if there were multiple SRV records, only the first would be iterated by the GSocketConnectable interface --- gio/gnetworkservice.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gio/gnetworkservice.c b/gio/gnetworkservice.c index cfeccca..78e1ab5 100644 --- a/gio/gnetworkservice.c +++ b/gio/gnetworkservice.c @@ -478,7 +478,10 @@ g_network_service_address_enumerator_next (GSocketAddressEnumerator *enumerator srv_enum->error = error; else g_error_free (error); + } + if (!ret) + { g_object_unref (srv_enum->addr_enum); srv_enum->addr_enum = NULL; } @@ -628,7 +631,10 @@ next_async_have_address (GObject *source_object, srv_enum->error = error; else g_error_free (error); + } + if (!address) + { g_object_unref (srv_enum->addr_enum); srv_enum->addr_enum = NULL; -- 2.7.4