]> git.donarmstrong.com Git - lilypond.git/commitdiff
Issue 5054: Fix SCM/int confusion in clef engravers
authorDavid Kastrup <dak@gnu.org>
Sat, 4 Feb 2017 15:34:09 +0000 (16:34 +0100)
committerDavid Kastrup <dak@gnu.org>
Sat, 11 Feb 2017 07:49:41 +0000 (08:49 +0100)
Tests for explicitClefVisibility and explicitCueClefVisibility
were fishy.

lily/clef-engraver.cc
lily/cue-clef-engraver.cc

index 5d30ce07c23c0e27af418ef7c222120f16935e34..05c9420623b99047d49451c20528525bf0d32335 100644 (file)
@@ -191,12 +191,13 @@ Clef_engraver::stop_translation_timestep ()
 {
   if (clef_)
     {
-      SCM vis = 0;
       if (to_boolean (clef_->get_property ("non-default")))
-        vis = get_property ("explicitClefVisibility");
+        {
+          SCM vis = get_property ("explicitClefVisibility");
 
-      if (vis)
-        clef_->set_property ("break-visibility", vis);
+          if (scm_is_vector (vis))
+            clef_->set_property ("break-visibility", vis);
+        }
 
       clef_ = 0;
 
index b39b5ba34d728cd816f9c1246730ae856c2dd2c1..cf7f0bd9681f7715b96f78b409f32ddb1121a153 100644 (file)
@@ -198,12 +198,13 @@ Cue_clef_engraver::stop_translation_timestep ()
 {
   if (clef_)
     {
-      SCM vis = 0;
       if (to_boolean (clef_->get_property ("non-default")))
-        vis = get_property ("explicitCueClefVisibility");
+        {
+          SCM vis = get_property ("explicitCueClefVisibility");
 
-      if (vis)
-        clef_->set_property ("break-visibility", vis);
+          if (scm_is_vector (vis))
+            clef_->set_property ("break-visibility", vis);
+        }
 
       clef_ = 0;
       modifier_ = 0;