]> git.donarmstrong.com Git - lilypond.git/commitdiff
Institutes property checks for non-event context property settings.
authorMike Solomon <mike@apollinemike.com>
Thu, 14 Jul 2011 20:02:49 +0000 (22:02 +0200)
committerMike Solomon <mike@apollinemike.com>
Thu, 14 Jul 2011 20:02:49 +0000 (22:02 +0200)
This fixes issue 1734 in addition to any potential incorrect settings
of properties in the layout block.  While this entails a property check
for all property settings in the ly/ folder, the time this takes is
negligible.

lily/context.cc

index 4dbb6e5657721e436dc4f52227d24409c62a53e8..0d7fbe35f6d1ffa65deba31f35405d22897bb030 100644 (file)
@@ -490,10 +490,13 @@ Context::instrumented_set_property (SCM sym, SCM val, const char*, int, const ch
 void
 Context::internal_set_property (SCM sym, SCM val)
 {
+  bool type_check_ok = type_check_assignment (sym, val, ly_symbol2scm ("translation-type?"));
+
   if (do_internal_type_checking_global)
-    assert (type_check_assignment (sym, val, ly_symbol2scm ("translation-type?")));
+    assert (type_check_ok);
 
-  properties_dict ()->set (sym, val);
+  if (type_check_ok)
+    properties_dict ()->set (sym, val);
 }
 
 /*