From 370996a26fad5a94ba67b9e52ba904d799b93453 Mon Sep 17 00:00:00 2001
From: Joe Neeman <joeneeman@gmail.com>
Date: Fri, 29 May 2009 16:58:29 -0700
Subject: [PATCH] Fix 759.

Only include live staves in refpoint-staff-extent.
---
 lily/align-interface.cc | 4 +++-
 lily/system.cc          | 3 ++-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/lily/align-interface.cc b/lily/align-interface.cc
index d69930c3aa..cbc9443fc7 100644
--- a/lily/align-interface.cc
+++ b/lily/align-interface.cc
@@ -249,8 +249,10 @@ Align_interface::get_extents_aligned_translates (Grob *me,
 	}
     }
 
+  // So far, we've computed the translates for all the non-empty elements.
+  // Here, we set the translates for the empty elements: an empty element
+  // gets the same translation as the last non-empty element before it.
   vector<Real> all_translates;
-
   if (!translates.empty ())
     {
       Real w = translates[0];
diff --git a/lily/system.cc b/lily/system.cc
index 6f363970ff..e0964482fc 100644
--- a/lily/system.cc
+++ b/lily/system.cc
@@ -419,7 +419,8 @@ System::get_paper_system ()
   Interval staff_refpoints;
   extract_grob_set (this, "spaceable-staves", staves);
   for (vsize i = 0; i < staves.size (); i++)
-    staff_refpoints.add_point (staves[i]->relative_coordinate (this, Y_AXIS));
+    if (staves[i]->is_live ())
+      staff_refpoints.add_point (staves[i]->relative_coordinate (this, Y_AXIS));
 
   pl->set_property ("staff-refpoint-extent", ly_interval2scm (staff_refpoints));
   pl->set_property ("system-grob", this->self_scm ()); 
-- 
2.39.5