X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Frod.cc;h=f86fc4e112bcf363035404bb0d9cb7e217d60409;hb=db4dd36b622417b5fe4c4a4660402e0ac7b5beb1;hp=621fd15de231fb93078ed9981d30809c74a67eae;hpb=3c2f386f1385a10dafbb811be245f5a75d6b132c;p=lilypond.git diff --git a/lily/rod.cc b/lily/rod.cc index 621fd15de2..f86fc4e112 100644 --- a/lily/rod.cc +++ b/lily/rod.cc @@ -3,18 +3,18 @@ source file of the GNU LilyPond music typesetter - (c) 1998--2000 Han-Wen Nienhuys + (c) 1998--2004 Han-Wen Nienhuys */ #include "rod.hh" #include "paper-column.hh" -#include "debug.hh" +#include "warn.hh" #include "dimensions.hh" -#include "spaceable-element.hh" +#include "spaceable-grob.hh" Rod::Rod () { - distance_f_ = 0.0; + distance_ = 0.0; item_l_drul_[LEFT] = item_l_drul_[RIGHT] =0; } @@ -23,10 +23,14 @@ Rod::Rod () void Rod::columnize () { + if (!item_l_drul_[LEFT] + || !item_l_drul_[RIGHT]) + return ; + Direction d = LEFT; do { - Paper_column * pc = item_l_drul_[d]->column_l (); - distance_f_ += - d * item_l_drul_[d]->relative_coordinate (pc, X_AXIS); + Paper_column * pc = item_l_drul_[d]->get_column (); + distance_ += - d * item_l_drul_[d]->relative_coordinate (pc, X_AXIS); item_l_drul_[d] = pc; } while ((flip (&d))!=LEFT); @@ -35,10 +39,11 @@ Rod::columnize () void Rod::add_to_cols () { - columnize(); - if (item_l_drul_[LEFT] != item_l_drul_[RIGHT]) - Spaceable_element::add_rod (item_l_drul_[LEFT], - item_l_drul_[RIGHT], - distance_f_ ); + columnize (); + if (item_l_drul_[LEFT] != item_l_drul_[RIGHT] + && item_l_drul_[LEFT] && item_l_drul_[RIGHT]) + Spaceable_grob::add_rod (item_l_drul_[LEFT], + item_l_drul_[RIGHT], + distance_); }