From f7c0b530a7a4e7232b2399b76336141ed19a5785 Mon Sep 17 00:00:00 2001 From: Nathan Lee <2431820-nathanal@users.noreply.gitlab.com> Date: Thu, 18 Jul 2019 17:56:45 +1000 Subject: Distribute/Move considers selection order Only used when objects have same anchor position. Address gitlab.com/inkscape/inbox/issues/665 --- src/ui/dialog/align-and-distribute.cpp | 4 ++-- src/ui/dialog/transformation.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/ui/dialog/align-and-distribute.cpp b/src/ui/dialog/align-and-distribute.cpp index 135584932..8e1565802 100644 --- a/src/ui/dialog/align-and-distribute.cpp +++ b/src/ui/dialog/align-and-distribute.cpp @@ -330,7 +330,7 @@ private : } } //sort bbox by anchors - std::sort(sorted.begin(), sorted.end()); + std::stable_sort(sorted.begin(), sorted.end()); // see comment in ActionAlign above int saved_compensation = prefs->getInt("/options/clonecompensation/value", SP_CLONE_COMPENSATION_UNMOVED); @@ -814,7 +814,7 @@ private : if (sorted.size() <= 1) return; //sort baselines - std::sort(sorted.begin(), sorted.end()); + std::stable_sort(sorted.begin(), sorted.end()); bool changed = false; diff --git a/src/ui/dialog/transformation.cpp b/src/ui/dialog/transformation.cpp index a2fa77dfc..f2126540a 100644 --- a/src/ui/dialog/transformation.cpp +++ b/src/ui/dialog/transformation.cpp @@ -675,7 +675,7 @@ void Transformation::applyPageMove(Inkscape::Selection *selection) } } //sort bbox by anchors - std::sort(sorted.begin(), sorted.end()); + std::stable_sort(sorted.begin(), sorted.end()); double move = x; for ( std::vector ::iterator it (sorted.begin()); @@ -697,7 +697,7 @@ void Transformation::applyPageMove(Inkscape::Selection *selection) } } //sort bbox by anchors - std::sort(sorted.begin(), sorted.end()); + std::stable_sort(sorted.begin(), sorted.end()); double move = y; for ( std::vector ::iterator it (sorted.begin()); -- cgit v1.2.3