From: Glen Low Date: Mon, 5 Oct 2015 06:47:00 +0000 (+0800) Subject: Fix bad postdecrement of NodeSet iterator X-Git-Tag: TRAVIS_CI_BUILD_EXPERIMENTAL~104^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c1a6412dfcefcc50c1a5534e4e8dae1b68be49f9;p=graphviz Fix bad postdecrement of NodeSet iterator --- diff --git a/lib/vpsc/generate-constraints.cpp b/lib/vpsc/generate-constraints.cpp index 8d0c9365d..e40b58df3 100644 --- a/lib/vpsc/generate-constraints.cpp +++ b/lib/vpsc/generate-constraints.cpp @@ -87,8 +87,8 @@ bool CmpNodePos::operator() (const Node* u, const Node* v) const { NodeSet* getLeftNeighbours(NodeSet &scanline,Node *v) { NodeSet *leftv = new NodeSet; NodeSet::iterator i=scanline.find(v); - while(i--!=scanline.begin()) { - Node *u=*(i); + while(i!=scanline.begin()) { + Node *u=*(--i); if(u->r->overlapX(v->r)<=0) { leftv->insert(u); return leftv; @@ -169,8 +169,8 @@ int generateXConstraints(const int n, Rectangle** rs, Variable** vars, Constrain ); } else { NodeSet::iterator it=scanline.find(v); - if(it--!=scanline.begin()) { - Node *u=*it; + if(it!=scanline.begin()) { + Node *u=*--it; v->firstAbove=u; u->firstBelow=v; } @@ -247,8 +247,8 @@ int generateYConstraints(const int n, Rectangle** rs, Variable** vars, Constrain if(e->type==Open) { scanline.insert(v); NodeSet::iterator i=scanline.find(v); - if(i--!=scanline.begin()) { - Node *u=*i; + if(i!=scanline.begin()) { + Node *u=*--i; v->firstAbove=u; u->firstBelow=v; }