Fix GNetworkAddress skipping addresses when enumerating
authorSjoerd Simons <sjoerd.simons@collabora.co.uk>
Wed, 2 Sep 2009 16:48:09 +0000 (17:48 +0100)
committerSjoerd Simons <sjoerd.simons@collabora.co.uk>
Fri, 11 Sep 2009 14:25:34 +0000 (15:25 +0100)
g_network_address_address_enumerator_next_finish takes the first item of the
address list and moves the pointer to the next one, so we shouldn't do the same
in g_network_address_address_enumerator_next_async function

Fixes bug #593941

gio/gnetworkaddress.c

index 09df3dbf229f1b8be1fb2ffec0b82ff016097daa..16af7f5a091ccfb89318c21af6fe0faa1ed48bcd 100644 (file)
@@ -543,7 +543,6 @@ g_network_address_address_enumerator_next_async (GSocketAddressEnumerator  *enum
   GNetworkAddressAddressEnumerator *addr_enum =
     G_NETWORK_ADDRESS_ADDRESS_ENUMERATOR (enumerator);
   GSimpleAsyncResult *simple;
-  GSocketAddress *sockaddr;
 
   simple = g_simple_async_result_new (G_OBJECT (enumerator),
                                       callback, user_data,
@@ -561,10 +560,6 @@ g_network_address_address_enumerator_next_async (GSocketAddressEnumerator  *enum
     }
   else
     {
-      sockaddr = g_network_address_address_enumerator_next (enumerator, NULL, NULL);
-      if (sockaddr)
-        g_simple_async_result_set_op_res_gpointer (simple, sockaddr, g_object_unref);
-
       g_simple_async_result_complete_in_idle (simple);
       g_object_unref (simple);
     }