CVSROOT:        /cvsroot/lilypond
Module name:    lilypond
Branch:         
Changes by:     Han-Wen Nienhuys <[EMAIL PROTECTED]>    05/04/19 13:11:25

Modified files:
        .              : ChangeLog 
        lily           : slur-scoring.cc stem.cc 

Log message:
        * lily/slur-scoring.cc (get_bound_info): robustness: substitute
        relative_coordinate if extent is empty.
        
        * lily/stem.cc (width_callback): determine correct extent if flag
        is not there. This fixes slur-no-flag.ly

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ChangeLog.diff?tr1=1.3474&tr2=1.3475&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/slur-scoring.cc.diff?tr1=1.47&tr2=1.48&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/stem.cc.diff?tr1=1.270&tr2=1.271&r1=text&r2=text

Patches:
Index: lilypond/ChangeLog
diff -u lilypond/ChangeLog:1.3474 lilypond/ChangeLog:1.3475
--- lilypond/ChangeLog:1.3474   Tue Apr 19 12:57:48 2005
+++ lilypond/ChangeLog  Tue Apr 19 13:11:25 2005
@@ -1,5 +1,11 @@
 2005-04-19  Han-Wen Nienhuys  <[EMAIL PROTECTED]>
 
+       * lily/slur-scoring.cc (get_bound_info): robustness: substitute
+       relative_coordinate if extent is empty.
+
+       * lily/stem.cc (width_callback): determine correct extent if flag
+       is not there. This fixes slur-no-flag.ly
+
        * lily/grace-engraver.cc (consider_change_grace_settings): new function.
        (initialize): also consider_change_grace_settings() on
        initialization. Fixes large grace notes at start of score.
Index: lilypond/lily/slur-scoring.cc
diff -u lilypond/lily/slur-scoring.cc:1.47 lilypond/lily/slur-scoring.cc:1.48
--- lilypond/lily/slur-scoring.cc:1.47  Tue Apr 12 22:49:27 2005
+++ lilypond/lily/slur-scoring.cc       Tue Apr 19 13:11:25 2005
@@ -240,8 +240,20 @@
          extremes[d].note_column_ = extremes[d].bound_;
          extremes[d].stem_ = Note_column::get_stem (extremes[d].note_column_);
          extremes[d].stem_dir_ = get_grob_direction (extremes[d].stem_);
-         extremes[d].stem_extent_[X_AXIS]
-           = extremes[d].stem_->extent (common_[X_AXIS], X_AXIS);
+
+         for (int a = X_AXIS; a < NO_AXES; a++)
+           {
+             Axis ax = Axis (a);
+             Interval s = extremes[d].stem_->extent (common_[ax], ax);
+             if (s.is_empty ())
+               {
+                 programming_error ("Stem has no extent in Slur_score_state");
+                 s = Interval (0,0)
+                   + extremes[d].stem_->relative_coordinate (common_[ax], ax);
+               }
+             extremes[d].stem_extent_[ax] = s; 
+           }
+         
          extremes[d].stem_extent_[Y_AXIS]
            = extremes[d].stem_->extent (common_[Y_AXIS], Y_AXIS);
          extremes[d].slur_head_
Index: lilypond/lily/stem.cc
diff -u lilypond/lily/stem.cc:1.270 lilypond/lily/stem.cc:1.271
--- lilypond/lily/stem.cc:1.270 Mon Apr 18 15:28:33 2005
+++ lilypond/lily/stem.cc       Tue Apr 19 13:11:25 2005
@@ -615,8 +615,8 @@
     }
   else
     {
-      r = flag (me).extent (X_AXIS)
-       + thickness (me) / 2;
+      r = Interval (-1,1) * thickness (me) * 0.5;
+      r.unite (flag (me).extent (X_AXIS));
     }
   return ly_interval2scm (r);
 }


_______________________________________________
Lilypond-cvs mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-cvs

Reply via email to