]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/skyline.cc
fix Skyline::distance calculation
[lilypond.git] / lily / skyline.cc
index 4cb07fc65fd9bf6b03adbb43ad9840a01703a731..e52a6277d50adfeeb44b6f9369944f8c4a900909 100644 (file)
@@ -300,14 +300,15 @@ Skyline::distance (Skyline const &other) const
   list<Building>::const_iterator j = other.buildings_.begin ();
 
   Real dist = -infinity_f;
-  for (; i != buildings_.end () && j != other.buildings_.end (); i++)
+  while (i != buildings_.end () && j != other.buildings_.end ())
     {
-      while (j->iv_[RIGHT] < i->iv_[LEFT])
-       j++;
-
       Interval iv = intersection (i->iv_, j->iv_);
       dist = max (dist, max (i->height (iv[LEFT]) + j->height (iv[LEFT]),
                             i->height (iv[RIGHT]) + j->height (iv[RIGHT])));
+      if (i->iv_[RIGHT] <= j->iv_[RIGHT])
+       i++;
+      else
+       j++;
     }
   return dist;
 }