GNetworkService: fix iteration of multiple addresses

Previously if there were multiple SRV records, only the first would
be iterated by the GSocketConnectable interface
This commit is contained in:
Dan Winship 2010-09-15 10:22:13 -04:00
parent 87d06109ab
commit 19243c247d

View File

@ -478,7 +478,10 @@ g_network_service_address_enumerator_next (GSocketAddressEnumerator *enumerator
srv_enum->error = error; srv_enum->error = error;
else else
g_error_free (error); g_error_free (error);
}
if (!ret)
{
g_object_unref (srv_enum->addr_enum); g_object_unref (srv_enum->addr_enum);
srv_enum->addr_enum = NULL; srv_enum->addr_enum = NULL;
} }
@ -628,7 +631,10 @@ next_async_have_address (GObject *source_object,
srv_enum->error = error; srv_enum->error = error;
else else
g_error_free (error); g_error_free (error);
}
if (!address)
{
g_object_unref (srv_enum->addr_enum); g_object_unref (srv_enum->addr_enum);
srv_enum->addr_enum = NULL; srv_enum->addr_enum = NULL;