From: Joe Neeman Date: Mon, 21 Jun 2010 20:29:23 +0000 (+0300) Subject: Fix 1139. X-Git-Tag: release/2.13.26-1~21 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;ds=sidebyside;h=d36b253fdc6b6a7a0bc59d6b64bcbcd75b8b35be;p=lilypond.git Fix 1139. Fix a corner case for springs that are stretchable but not compressible. --- diff --git a/lily/spring.cc b/lily/spring.cc index 761ef2467b..12d8f1895e 100644 --- a/lily/spring.cc +++ b/lily/spring.cc @@ -51,9 +51,11 @@ Spring::update_blocking_force () blocking_force_ = (min_distance_ - distance_) / inverse_compress_strength_; // If the spring is fixed, it's not clear what the natural value - // of blocking_force_ would be. -infinity_f works fine for now. + // of blocking_force_ would be (because it always blocks). + // -infinity_f works fine for now. + // If inverse_stretch_strength > 0, the spring is not fixed (because it can stretch). if (isnan (blocking_force_) || blocking_force_ == infinity_f) - blocking_force_ = -infinity_f; + blocking_force_ = (inverse_stretch_strength_ > 0) ? 0.0 : -infinity_f; if (blocking_force_ >= 0) inverse_compress_strength_ = 0;