]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/single-malt-grouping-item.cc
release: 1.1.53
[lilypond.git] / lily / single-malt-grouping-item.cc
index fc66d9baa504048624672b5bcc4c7d67bb224cc3..77848e79faec7f323b472c56f5d2499611f6c3d7 100644 (file)
 
 Single_malt_grouping_item ::Single_malt_grouping_item()
 {
-  transparent_b_ = true;
+  set_elt_property (break_helper_only_scm_sym, SCM_BOOL_T);
+  set_elt_property (transparent_scm_sym, SCM_BOOL_T);
+
+  // this is weird! , but needed!
   set_empty (true);
 }
 
@@ -36,10 +39,16 @@ Single_malt_grouping_item::my_width () const
       if (pc != il->column_l ())
        {
          /* this shouldn't happen, but let's continue anyway. */
-         warning (_("Single_malt_grouping_item: I've been drinking too much (fixme)"));
+         programming_error (_("Single_malt_grouping_item: I've been drinking too much"));
          continue;             /*UGH UGH*/ 
        }
-      w.unite  (il->extent (X_AXIS) + il->relative_coordinate (&pc->dim_cache_[X_AXIS], X_AXIS));
+
+      Interval iv (il->extent (X_AXIS));
+      if (!iv.empty_b ())
+       {
+         Real off = il->relative_coordinate (pc->dim_cache_[X_AXIS], X_AXIS);
+         w.unite  (iv + off);
+       }
     }
 
   return w;
@@ -49,7 +58,8 @@ Single_malt_grouping_item::my_width () const
 
 
 void
-Single_malt_grouping_item::do_substitute_dependency (Score_element*o, Score_element*n)
+Single_malt_grouping_item::do_substitute_element_pointer (Score_element*o,
+                                                         Score_element*n)
 {
   if (dynamic_cast <Item *> (o))
     {