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 <chris gnome-de org>
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