rendered paste bodyIndex: libnautilus-private/nautilus-icon-dnd.c
===================================================================
--- libnautilus-private/nautilus-icon-dnd.c (revisione 13757)
+++ libnautilus-private/nautilus-icon-dnd.c (copia locale)
@@ -271,10 +271,12 @@ static void
nautilus_icon_container_each_selected_icon (NautilusIconContainer *container,
gboolean (*each_function) (NautilusIcon *, gpointer), gpointer data)
{
- GList *p;
NautilusIcon *icon;
+ GList *p;
+
+ p = g_list_copy (container->details->icons);
- for (p = container->details->icons; p != NULL; p = p->next) {
+ for (p = g_list_reverse (p); p != NULL; p = p->next) {
icon = p->data;
if (!icon->is_selected) {
continue;
@@ -283,6 +285,8 @@ nautilus_icon_container_each_selected_ic
return;
}
}
+
+ g_list_free (p);
}
/* Adaptor function used with nautilus_icon_container_each_selected_icon