summaryrefslogtreecommitdiffstats
path: root/src/selection-chemistry.cpp
diff options
context:
space:
mode:
authorMarc Jeanmougin <marc@jeanmougin.fr>2015-09-05 20:29:58 +0000
committerMarc Jeanmougin <marcjeanmougin@free.fr>2015-09-05 20:29:58 +0000
commit99ef61fee7fb164bd095bffd87d2e1a3b8bccd51 (patch)
treeac9672ee29553ea3ff380795b7f5e6321af148a6 /src/selection-chemistry.cpp
parentcmake: make JPEG optional; fix using it (if found) (diff)
downloadinkscape-99ef61fee7fb164bd095bffd87d2e1a3b8bccd51.tar.gz
inkscape-99ef61fee7fb164bd095bffd87d2e1a3b8bccd51.zip
Fix z-order in creating symbols
(bzr r14342)
Diffstat (limited to 'src/selection-chemistry.cpp')
-rw-r--r--src/selection-chemistry.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/selection-chemistry.cpp b/src/selection-chemistry.cpp
index 3999156db..cfd76c758 100644
--- a/src/selection-chemistry.cpp
+++ b/src/selection-chemistry.cpp
@@ -3056,6 +3056,7 @@ void sp_selection_symbol(SPDesktop *desktop, bool /*apply*/ )
doc->ensureUpToDate();
std::vector<SPObject*> items(selection->list());
+ sort(items.begin(),items.end(),sp_object_compare_position_bool);
// Keep track of parent, this is where <use> will be inserted.
Inkscape::XML::Node *the_first_repr = items[0]->getRepr();
@@ -3122,7 +3123,7 @@ void sp_selection_symbol(SPDesktop *desktop, bool /*apply*/ )
}
// Move selected items to new <symbol>
- for (std::vector<SPObject*>::const_iterator i=items.begin();i!=items.end();i++){
+ for (std::vector<SPObject*>::const_reverse_iterator i=items.rbegin();i!=items.rend();i++){
Inkscape::XML::Node *repr = (*i)->getRepr();
repr->parent()->removeChild(repr);
symbol_repr->addChild(repr,NULL);