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