From 1354af483528b94b486ec4bf12f0e2301bcf7b08 Mon Sep 17 00:00:00 2001 From: "Johan B. C. Engelen" Date: Tue, 12 Nov 2013 23:13:31 +0100 Subject: part of patch by David Evans to fix C++11 build Fixed bugs: - https://launchpad.net/bugs/1244295 (bzr r12802) --- src/remove-last.h | 7 ++----- src/sp-item-rm-unsatisfied-cns.cpp | 6 ++++-- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/remove-last.h b/src/remove-last.h index a5bbd89f8..8c84d0ed4 100644 --- a/src/remove-last.h +++ b/src/remove-last.h @@ -8,12 +8,9 @@ template inline void remove_last(std::vector &seq, T const &elem) { - using std::vector; - - typename vector::reverse_iterator i(find(seq.rbegin(), seq.rend(), elem)); + typename std::vector::reverse_iterator i(find(seq.rbegin(), seq.rend(), elem)); g_assert( i != seq.rend() ); - typename vector::iterator ii(&*i); - seq.erase(ii); + seq.erase(i.base()); } diff --git a/src/sp-item-rm-unsatisfied-cns.cpp b/src/sp-item-rm-unsatisfied-cns.cpp index 8fb171c08..7a712b083 100644 --- a/src/sp-item-rm-unsatisfied-cns.cpp +++ b/src/sp-item-rm-unsatisfied-cns.cpp @@ -24,10 +24,12 @@ void sp_item_rm_unsatisfied_cns(SPItem &item) g_assert( snappoint_ix < int(snappoints.size()) ); if (!Geom::are_near(cn.g->getDistanceFrom(snappoints[snappoint_ix].getPoint()), 0, 1e-2)) { + remove_last(cn.g->attached_items, SPGuideAttachment(&item, cn.snappoint_ix)); + g_assert( i < item.constraints.size() ); - vector::iterator const ei(&item.constraints[i]); - item.constraints.erase(ei); + + item.constraints.erase(item.constraints.begin() + i); } } } -- cgit v1.2.3