Index: selection-chemistry.cpp =================================================================== RCS file: /cvsroot/inkscape/inkscape/src/selection-chemistry.cpp,v retrieving revision 1.169 diff -u -p -r1.169 selection-chemistry.cpp --- selection-chemistry.cpp 2 Aug 2005 01:24:28 -0000 1.169 +++ selection-chemistry.cpp 7 Aug 2005 21:28:25 -0000 @@ -125,14 +125,16 @@ void sp_selection_copy_impl (const GSLis if (clip) { // Sort items: - items = g_slist_sort((GSList *) items, (GCompareFunc) sp_object_compare_position); + GSList *sorted_items = g_slist_copy ((GSList *) items); + sorted_items = g_slist_sort((GSList *) sorted_items, (GCompareFunc) sp_object_compare_position); // Copy item reprs: - for (GSList *i = (GSList *) items; i != NULL; i = i->next) { + for (GSList *i = (GSList *) sorted_items; i != NULL; i = i->next) { sp_selection_copy_one (SP_OBJECT_REPR (i->data), sp_item_i2doc_affine(SP_ITEM (i->data)), clip); } *clip = g_slist_reverse(*clip); + g_slist_free ((GSList *) sorted_items); } }