summaryrefslogtreecommitdiffstats
path: root/src/path-chemistry.cpp
diff options
context:
space:
mode:
authorbulia byak <buliabyak@gmail.com>2006-05-28 14:38:37 +0000
committerbuliabyak <buliabyak@users.sourceforge.net>2006-05-28 14:38:37 +0000
commit6c9378a68e4d3a37a9122e2cc68e3302701b1e8d (patch)
treebaaa4930923a8ab5a5364311cd363433ffbb6aa8 /src/path-chemistry.cpp
parentOption to keep selection when changing layers (diff)
downloadinkscape-6c9378a68e4d3a37a9122e2cc68e3302701b1e8d.tar.gz
inkscape-6c9378a68e4d3a37a9122e2cc68e3302701b1e8d.zip
break apart faster: prepend to list instead of append, add objects to selection wholesale instead of one by one
(bzr r1038)
Diffstat (limited to 'src/path-chemistry.cpp')
-rw-r--r--src/path-chemistry.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/path-chemistry.cpp b/src/path-chemistry.cpp
index 1cd7480aa..c11754ece 100644
--- a/src/path-chemistry.cpp
+++ b/src/path-chemistry.cpp
@@ -192,7 +192,8 @@ sp_selected_path_break_apart(void)
sp_curve_unref(curve);
- for (GSList *l = g_slist_reverse(list); l != NULL; l = l->next) {
+ GSList *reprs = NULL;
+ for (GSList *l = list; l != NULL; l = l->next) {
curve = (SPCurve *) l->data;
Inkscape::XML::Node *repr = sp_repr_new("svg:path");
@@ -212,11 +213,14 @@ sp_selected_path_break_apart(void)
if (l == list)
repr->setAttribute("id", id);
- selection->add(repr);
+ reprs = g_slist_prepend (reprs, repr);
Inkscape::GC::release(repr);
}
+ selection->setReprList(reprs);
+
+ g_slist_free(reprs);
g_slist_free(list);
g_free(style);