]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/mark-engraver.cc
Fix issue 542: Harden Grob::relative_coordinate()
[lilypond.git] / lily / mark-engraver.cc
index 984eb687a096a58bd3902234c952d587704ada98..8c0233c9095b6b93cdd3ca4186daad873682f024 100644 (file)
@@ -43,7 +43,6 @@ protected:
 
   DECLARE_TRANSLATOR_LISTENER (mark);
   DECLARE_ACKNOWLEDGER (break_alignment);
-  DECLARE_ACKNOWLEDGER (break_aligned);
 };
 
 Mark_engraver::Mark_engraver ()
@@ -52,30 +51,6 @@ Mark_engraver::Mark_engraver ()
   mark_ev_ = 0;
 }
 
-/*
-  This is a flawed approach, since various break-aligned objects may
-  not appear depending on key signature etc.
-
-   We keep it in case someone puts the engraver in a lower context than score.
- */
-void
-Mark_engraver::acknowledge_break_aligned (Grob_info inf)
-{
-  Grob *s = inf.grob ();
-  if (text_
-      && !text_->get_parent (X_AXIS)
-      && (text_->get_property_data ("break-align-symbol")
-         == s->get_property_data ("break-align-symbol"))
-      && Axis_group_interface::has_interface (s))
-    {
-      /*
-       RehearsalMark cannot be break-aligned, since the width of the
-       object should not be taken into alignment considerations.
-      */
-      text_->set_parent (s, X_AXIS);
-    }
-}
-
 void
 Mark_engraver::acknowledge_break_alignment (Grob_info inf)
 {
@@ -92,11 +67,11 @@ void
 Mark_engraver::stop_translation_timestep ()
 {
   if (text_)
-    {
-      text_->set_object ("side-support-elements",
-                        grob_list_to_grob_array (get_property ("stavesFound")));
-      text_ = 0;
-    }
+  {
+    text_->set_object ("side-support-elements",
+                      grob_list_to_grob_array (get_property ("stavesFound")));
+    text_ = 0;
+  }
   mark_ev_ = 0;
 }
 
@@ -161,7 +136,6 @@ Mark_engraver::process_music ()
     }
 }
 
-ADD_ACKNOWLEDGER (Mark_engraver, break_aligned);
 ADD_ACKNOWLEDGER (Mark_engraver, break_alignment);
 
 ADD_TRANSLATOR (Mark_engraver,