All pastes #905000 Raw Edit

Untitled

public text v1 · immutable
·published 2008-02-15 14:04 UTC
rendered paste body
Index: 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