[patch]



Hi,

there's a bug in gnome_vfs_dns_sd_resolve when using HOWL: the callback
is always called with a NULL hashtable where it should pass a hashtable
with the extra parameters received. The bug is filed as
http://bugzilla.gnome.org/show_bug.cgi?id=310292 ; attached patch fixes
it. Ok to commit?

Regards,
	Christian
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/gnome-vfs/ChangeLog,v
retrieving revision 1.2219
diff -p -u -u -p -U10 -r1.2219 ChangeLog
--- ChangeLog	11 Jul 2005 12:36:24 -0000	1.2219
+++ ChangeLog	13 Jul 2005 22:34:45 -0000
@@ -1,10 +1,17 @@
+2005-07-14  Christian Persch  <chpe cvs gnome org>
+
+	* libgnomevfs/gnome-vfs-dns-sd.c: (howl_resolve_idle):
+	Pass a hashtable with extra parameters to the 
+	gnome_vfs_dns_sd_resolve callbacks also when using howl.
+	Fixes bug #310292.
+
 2005-07-11  Alexander Larsson  <alexl redhat com>
 
 	* configure.in:
 	Post release version bump.
 
 === gnome-vfs 2.11.4 ===
 
 2005-07-11  Alexander Larsson  <alexl redhat com>
 
 	* NEWS:
Index: libgnomevfs/gnome-vfs-dns-sd.c
===================================================================
RCS file: /cvs/gnome/gnome-vfs/libgnomevfs/gnome-vfs-dns-sd.c,v
retrieving revision 1.11
diff -p -u -u -p -U10 -r1.11 gnome-vfs-dns-sd.c
--- libgnomevfs/gnome-vfs-dns-sd.c	13 Apr 2005 19:58:54 -0000	1.11
+++ libgnomevfs/gnome-vfs-dns-sd.c	13 Jul 2005 22:34:46 -0000
@@ -1174,36 +1174,44 @@ unicast_resolve_thread (gpointer data)
 	return NULL;
 }
 
 
 #ifdef HAVE_HOWL
 static gboolean
 howl_resolve_idle (gpointer data)
 {
 	GnomeVFSDNSSDResolveHandle *handle;
 	GnomeVFSDNSSDService service;
-	
+	GHashTable *hash;
+
 	handle = data;
 
+	hash = decode_txt_record (handle->text,
+				  handle->text_len);
+
 	service.name = handle->name;
 	service.type = handle->type;
 	service.domain = handle->domain;
 
 	handle->callback (handle,
 			  GNOME_VFS_OK,
 			  &service,
 			  handle->host,
 			  handle->port,
-			  NULL,
+			  hash,
 			  handle->text_len,
 			  handle->text,
 			  handle->callback_data);
+
+	if (hash) {
+		g_hash_table_destroy (hash);
+	}
 
 	free_resolve_handle (handle);
 	
 	return FALSE;
 }
 
 
 
 static sw_result
 howl_resolve_reply (sw_discovery                   discovery,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]