]> git.donarmstrong.com Git - lilypond.git/commitdiff
Revert "Do accidental suicide in print function."
authorJoe Neeman <joeneeman@gmail.com>
Thu, 5 Jul 2007 10:59:03 +0000 (20:59 +1000)
committerJoe Neeman <joeneeman@gmail.com>
Thu, 5 Jul 2007 10:59:03 +0000 (20:59 +1000)
This reverts commit b80bb48c60f47bc0467da545f3a3b72e261210c7.
this commit caused bug 381

lily/accidental.cc
lily/include/accidental-interface.hh
scm/define-grobs.scm

index 3e5d0475f7afa671f23187b9616e8f81ef70df0a..73a1c80f36984536ac13d9318d79426a02095f94 100644 (file)
@@ -31,6 +31,24 @@ parenthesize (Grob *me, Stencil m)
   return m;
 }
 
+/*
+  Hmm. Need separate callback, or perhaps #'live bool property.
+ */
+MAKE_SCHEME_CALLBACK (Accidental_interface, after_line_breaking, 1);
+SCM
+Accidental_interface::after_line_breaking (SCM smob)
+{
+  Grob *me = unsmob_grob (smob);
+  Grob *tie = unsmob_grob (me->get_object ("tie"));
+
+  if (tie && !tie->original ()
+      && !to_boolean (me->get_property ("forced")))
+    {
+      me->suicide ();
+    }
+  return SCM_UNSPECIFIED;
+}
 
 /* This callback exists for the sole purpose of allowing us to override
    its pure equivalent to accidental-interface::pure-height */
@@ -140,15 +158,7 @@ SCM
 Accidental_interface::print (SCM smob)
 {
   Grob *me = unsmob_grob (smob);
-  Grob *tie = unsmob_grob (me->get_object ("tie"));
 
-  if (tie && !tie->original ()
-      && !to_boolean (me->get_property ("forced")))
-    {
-      me->suicide ();
-      return SCM_EOL;
-    }
-  
   Font_metric *fm = Font_interface::get_default_font (me);
 
   SCM alist = me->get_property ("glyph-name-alist");
index a90680537f9a9eefeca52e8fdee1cc60a93a1c6e..534ac706b558972b22ff6bf644a4250f6e9f38fe 100644 (file)
@@ -20,6 +20,7 @@ class Accidental_interface
 public:
   DECLARE_SCHEME_CALLBACK (print, (SCM));
   DECLARE_SCHEME_CALLBACK (calc_stencils, (SCM));
+  DECLARE_SCHEME_CALLBACK (after_line_breaking, (SCM));
   DECLARE_SCHEME_CALLBACK (height, (SCM));
   DECLARE_SCHEME_CALLBACK (pure_height, (SCM, SCM, SCM));
   
index 6159e81f94e38d684ee43f299a8c31146e3d046c..7371cbbf10896ad89dca1b9f40c30aee0e726ce4 100644 (file)
@@ -24,6 +24,8 @@
        (alteration . ,accidental-interface::calc-alteration) 
        (stencil . ,ly:accidental-interface::print)
        (Y-extent . ,ly:accidental-interface::height)
+       (after-line-breaking
+        . ,ly:accidental-interface::after-line-breaking)
        (meta . ((class . Item)
                 (interfaces . (accidental-interface
                                font-interface))))))
@@ -35,6 +37,8 @@
        (alteration . ,accidental-interface::calc-alteration) 
        (stencil . ,ly:accidental-interface::print)
        (Y-extent . ,ly:accidental-interface::height)
+       (after-line-breaking
+        . ,ly:accidental-interface::after-line-breaking)
        (meta . ((class . Item)
                 (interfaces . (accidental-interface
                                font-interface))))))
        (stencil . ,ly:accidental-interface::print)
        (Y-extent . ,ly:accidental-interface::height)
        (glyph-name-alist . ,standard-alteration-glyph-name-alist)      
+       (after-line-breaking . ,ly:accidental-interface::after-line-breaking)
        (side-axis . ,X)
        (meta . ((class . Item)
                 (interfaces . (