From: Joe Neeman <joeneeman@gmail.com>
Date: Tue, 20 Apr 2010 21:31:01 +0000 (-0700)
Subject: Fix 899.
X-Git-Tag: release/2.13.19-1~2^2~6
X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=733d98665372b815cac635f48f1a20d65f50d25a;p=lilypond.git

Fix 899.

Don't touch the stretch strength when we add full-measure-extra-space.
---

diff --git a/lily/include/spring.hh b/lily/include/spring.hh
index 958d1fa651..5676357286 100644
--- a/lily/include/spring.hh
+++ b/lily/include/spring.hh
@@ -55,6 +55,8 @@ public:
   void set_inverse_compress_strength (Real);
   void set_blocking_force (Real);
   void set_default_strength ();
+  void set_default_compress_strength ();
+  void set_default_stretch_strength ();
 
   void operator*= (Real);
   bool operator> (Spring const&) const;
diff --git a/lily/spacing-spanner.cc b/lily/spacing-spanner.cc
index 6ec8108d69..783946eb10 100644
--- a/lily/spacing-spanner.cc
+++ b/lily/spacing-spanner.cc
@@ -539,7 +539,7 @@ Spacing_spanner::breakable_column_spacing (Grob *me, Item *l, Item *r,
     {
       Real full_measure_extra_space = robust_scm2double (l->get_property ("full-measure-extra-space"), 1.0);
       spring.set_distance (spring.distance () + full_measure_extra_space);
-      spring.set_default_strength ();
+      spring.set_default_compress_strength ();
     }
   
   if (options->stretch_uniformly_ && l->break_status_dir () != RIGHT)
diff --git a/lily/spring.cc b/lily/spring.cc
index d4b014a3dc..761ef2467b 100644
--- a/lily/spring.cc
+++ b/lily/spring.cc
@@ -174,12 +174,24 @@ Spring::set_blocking_force (Real f)
 
 void
 Spring::set_default_strength ()
+{
+  set_default_stretch_strength ();
+  set_default_compress_strength ();
+}
+
+void
+Spring::set_default_compress_strength ()
 {
   inverse_compress_strength_ = (distance_ >= min_distance_) ? distance_ - min_distance_ : 0;
-  inverse_stretch_strength_ = distance_;
   update_blocking_force ();
 }
 
+void
+Spring::set_default_stretch_strength ()
+{
+  inverse_stretch_strength_ = distance_;
+}
+
 Real
 Spring::length (Real f) const
 {