summaryrefslogtreecommitdiffstats
path: root/src/removeoverlap
diff options
context:
space:
mode:
authorTim Dwyer <tgdwyer@gmail.com>2006-01-25 02:01:23 +0000
committertgdwyer <tgdwyer@users.sourceforge.net>2006-01-25 02:01:23 +0000
commit72633129f56262333906dc667962fab7c5afc4c1 (patch)
tree5aadfe47d19b4549bda01a8f788f48efcef2a9dd /src/removeoverlap
parentmnemonics for all widgets in the Doc Props dialog (diff)
downloadinkscape-72633129f56262333906dc667962fab7c5afc4c1.tar.gz
inkscape-72633129f56262333906dc667962fab7c5afc4c1.zip
Change to the way timestamps are used. Should now be more efficient.
(bzr r27)
Diffstat (limited to 'src/removeoverlap')
-rw-r--r--src/removeoverlap/block.cpp6
-rw-r--r--src/removeoverlap/blocks.cpp3
2 files changed, 4 insertions, 5 deletions
diff --git a/src/removeoverlap/block.cpp b/src/removeoverlap/block.cpp
index 799fa5d8e..32b310153 100644
--- a/src/removeoverlap/block.cpp
+++ b/src/removeoverlap/block.cpp
@@ -129,14 +129,12 @@ Constraint *Block::findMinInConstraint() {
#ifdef RECTANGLE_OVERLAP_LOGGING
f<<" ... skipping internal constraint"<<endl;
#endif
- } else if(lb->timeStamp > rb->timeStamp
- && v->timeStamp < lb->timeStamp
- || v->timeStamp < rb->timeStamp) {
+ } else if(v->timeStamp < lb->timeStamp) {
// block at other end of constraint has been moved since this
in->deleteMin();
outOfDate.push_back(v);
#ifdef RECTANGLE_OVERLAP_LOGGING
- f<<" reinserting out of date constraint"<<endl;
+ f<<" reinserting out of date (reinsert later)"<<endl;
#endif
} else {
break;
diff --git a/src/removeoverlap/blocks.cpp b/src/removeoverlap/blocks.cpp
index 45c479187..23df60516 100644
--- a/src/removeoverlap/blocks.cpp
+++ b/src/removeoverlap/blocks.cpp
@@ -96,9 +96,10 @@ void Blocks::mergeLeft(Block *r) {
dist=-dist;
std::swap(l, r);
}
+ blockTimeCtr++;
r->merge(l, c, dist);
r->mergeIn(l);
- r->timeStamp=++blockTimeCtr;
+ r->timeStamp=blockTimeCtr;
removeBlock(l);
c=r->findMinInConstraint();
}