[gnome-bluetooth] Don't overwrite UUIDs when discovering known device



commit ed246d83db1ea0cf104cf3557c1c269a31c72231
Author: Bastien Nocera <hadess hadess net>
Date:   Fri Sep 25 16:42:43 2009 +0100

    Don't overwrite UUIDs when discovering known device
    
    The device is already known, but the discovery information won't
    include any UUIDs information, so don't overwrite the existing one.
    
    Also don't crash when the proxy isn't set in dump_devices().

 lib/bluetooth-client.c |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)
---
diff --git a/lib/bluetooth-client.c b/lib/bluetooth-client.c
index ff3a01f..6dd7a6e 100644
--- a/lib/bluetooth-client.c
+++ b/lib/bluetooth-client.c
@@ -727,9 +727,13 @@ static void add_device(DBusGProxy *adapter, GtkTreeIter *parent,
 					BLUETOOTH_COLUMN_TYPE, type,
 					BLUETOOTH_COLUMN_ICON, icon,
 					BLUETOOTH_COLUMN_RSSI, rssi,
-					BLUETOOTH_COLUMN_UUIDS, uuids,
 					BLUETOOTH_COLUMN_LEGACYPAIRING, legacypairing,
 					-1);
+			if (uuids != NULL) {
+				gtk_tree_store_set(priv->store, &iter,
+						   BLUETOOTH_COLUMN_UUIDS, uuids,
+						   -1);
+			}
 
 			if (device != NULL) {
 				services = device_list_nodes (device, client, FALSE);
@@ -1889,7 +1893,8 @@ bluetooth_client_dump_device (GtkTreeModel *model,
 	g_free (alias);
 	g_free (address);
 	g_free (icon);
-	g_object_unref (proxy);
+	if (proxy != NULL)
+		g_object_unref (proxy);
 	if (services != NULL)
 		g_hash_table_unref (services);
 	g_strfreev (uuids);



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