* lily/context.cc (find_create_context): go to Score if it exists.
2004-02-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ * lily/slur.cc (broken_trend_offset): robustness fix.
+
+ * VERSION: release 2.1.24
+
* lily/context.cc (find_create_context): go to Score if it exists.
* lily/context-scheme.cc: new file.
scm_gc_mark (me->translator_mods_);
scm_gc_mark (me->property_ops_);
scm_gc_mark (me->translator_group_type_);
+
return me->context_name_;
}
;
}
-
void
Context::check_removal ()
{
Context *
Context::find_existing_context (SCM n, String id)
{
- if ((is_alias (n) && (id_string_ == id || id.is_empty ())) || n == ly_symbol2scm ("Current"))
+ if ((is_alias (n) && (id_string_ == id || id.is_empty ()))
+ || n == ly_symbol2scm ("Current"))
return this;
Context* r = 0;
/*
-score-context.cc -- implement
+ score-context.cc -- implement Score_context
-source file of the GNU LilyPond music typesetter
-
-(c) 2004 Han-Wen Nienhuys <hanwen@xs4all.nl>
-
- */
+ source file of the GNU LilyPond music typesetter
+ (c) 2004 Han-Wen Nienhuys <hanwen@xs4all.nl>
+*/
#include "score-context.hh"
#include "score-translator.hh"
-
void
Score_context::prepare (Moment w)
{
if (Spanner *mother = dynamic_cast<Spanner*> (me->original_))
{
int k = broken_spanner_index (dynamic_cast<Spanner*> (me));
- Grob *neighbour = mother->broken_intos_[k + dir];
+ int j = k + dir;
+ if (j < 0 || j >= mother->broken_intos_.size ())
+ return o;
+
+ Grob *neighbour = mother->broken_intos_[j];
if (dir == RIGHT)
neighbour->set_grob_property ("direction",
me->get_grob_property ("direction"));