From c93bf1b9b0c9a9956cc960952f0c4240c6e55789 Mon Sep 17 00:00:00 2001
From: Han-Wen Nienhuys <hanwen@xs4all.nl>
Date: Wed, 21 Feb 2007 15:12:33 +0100
Subject: [PATCH] Fix #303.

Use robust_relative_extent() iso. extent() for broken beam end.
---
 input/regression/beam-break-no-bar.ly | 27 +++++++++++++++++++++++++++
 lily/beam.cc                          |  2 +-
 2 files changed, 28 insertions(+), 1 deletion(-)
 create mode 100644 input/regression/beam-break-no-bar.ly

diff --git a/input/regression/beam-break-no-bar.ly b/input/regression/beam-break-no-bar.ly
new file mode 100644
index 0000000000..597901c7de
--- /dev/null
+++ b/input/regression/beam-break-no-bar.ly
@@ -0,0 +1,27 @@
+\header
+{
+  texidoc = "Broken beams have sane endings even if grobs
+  are not present at the broken end. "
+  
+}
+
+\version "2.11.18"
+
+\new Staff \with {
+   \remove Bar_engraver
+   \override Beam #'breakable = ##t
+} {
+   \time 1/8
+   c'32 [
+   c'32
+   c'32
+   c'32
+   \break
+   c'32
+   c'32
+   c'32
+   c'32 ]
+}
+
+
+
diff --git a/lily/beam.cc b/lily/beam.cc
index f9bd03d9d2..f2f0c645f3 100644
--- a/lily/beam.cc
+++ b/lily/beam.cc
@@ -427,7 +427,7 @@ Beam::get_beam_segments (Grob *me_grob, Grob **common)
 		      && me->get_bound (event_dir)->break_status_dir ())
 		    {
 		      current.horizontal_[event_dir]
-			= (me->get_bound (event_dir)->extent (commonx, X_AXIS)[RIGHT]
+			= (robust_relative_extent (me->get_bound (event_dir), commonx, X_AXIS)[RIGHT]
 			   + event_dir * break_overshoot[event_dir]);
 		    }
 		  else
-- 
2.39.5