The attached patch takes care that new icons are added to the container
at the right list position. Checkout FMPropertyDialog for multiple files
to see the old broken behavior.

-- 
Christian Neumair <[EMAIL PROTECTED]>
Index: libnautilus-private/nautilus-icon-container.c
===================================================================
RCS file: /cvs/gnome/nautilus/libnautilus-private/nautilus-icon-container.c,v
retrieving revision 1.396
diff -u -p -r1.396 nautilus-icon-container.c
--- libnautilus-private/nautilus-icon-container.c	1 Sep 2005 09:29:57 -0000	1.396
+++ libnautilus-private/nautilus-icon-container.c	18 Sep 2005 14:23:56 -0000
@@ -2236,6 +2232,17 @@ compare_icons_by_uri (NautilusIconContai
 }
 
 static int
+gcompare_icons_by_uri (gconstpointer icon_a,
+		       gconstpointer icon_b)
+{
+	NautilusIconContainer *container;
+
+	container = NAUTILUS_ICON_CONTAINER (EEL_CANVAS_ITEM (((NautilusIcon *) icon_a)->item)->canvas);
+
+	return compare_icons_by_uri (container, (NautilusIcon *) icon_a, (NautilusIcon *) icon_b);
+}
+
+static int
 compare_icons_horizontal_first (NautilusIconContainer *container,
 				NautilusIcon *icon_a,
 				NautilusIcon *icon_b)
@@ -5246,7 +5246,7 @@ nautilus_icon_container_add (NautilusIco
 	}
 	
 	/* Put it on both lists. */
-	details->icons = g_list_prepend (details->icons, icon);
+	details->icons = g_list_insert_sorted (details->icons, icon, gcompare_icons_by_uri);
 	details->new_icons = g_list_prepend (details->new_icons, icon);
 
 	g_hash_table_insert (details->icon_set, data, icon);

Attachment: signature.asc
Description: This is a digitally signed message part

-- 
nautilus-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/nautilus-list

Reply via email to