From: Neil Puttock Date: Wed, 20 Jul 2011 16:56:59 +0000 (+0100) Subject: ly:grob-set-property!: Don't crash if set to a simple closure. X-Git-Tag: release/2.15.6-1~3^2~2 X-Git-Url: https://git.donarmstrong.com/lilypond.git?a=commitdiff_plain;h=76d60ecc1f921719d48a9b1b5c65f00cfa9d3930;p=lilypond.git ly:grob-set-property!: Don't crash if set to a simple closure. * lily/grob-scheme.cc (ly_grob_set_property_x): filter out simple closures when doing type-checking --- diff --git a/lily/grob-scheme.cc b/lily/grob-scheme.cc index 9554883464..f10ee2106f 100644 --- a/lily/grob-scheme.cc +++ b/lily/grob-scheme.cc @@ -18,13 +18,14 @@ along with LilyPond. If not, see . */ -#include "warn.hh" // error () +#include "font-interface.hh" +#include "grob-array.hh" #include "item.hh" #include "output-def.hh" -#include "system.hh" -#include "font-interface.hh" #include "paper-score.hh" -#include "grob-array.hh" +#include "simple-closure.hh" +#include "system.hh" +#include "warn.hh" // error () LY_DEFINE (ly_grob_property_data, "ly:grob-property-data", 2, 0, 0, (SCM grob, SCM sym), @@ -49,6 +50,7 @@ LY_DEFINE (ly_grob_set_property_x, "ly:grob-set-property!", LY_ASSERT_TYPE (ly_is_symbol, sym, 2); if (!ly_is_procedure (val) + && !is_simple_closure (val) && !type_check_assignment (sym, val, ly_symbol2scm ("backend-type?"))) error ("typecheck failed");