[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Clusters

From: Han-Wen Nienhuys
Subject: Re: [PATCH] Clusters
Date: Tue, 19 Nov 2002 21:34:03 +0100

address@hidden writes:
> Grob::warning() that sometimes caused segmentation faults on my
> machine.  I further fixed the ugly appearance of the ligature bracket

I fixed it further, see CVS 

> engraver: it is now based on tuplet brackets (without numbers,
> though).  Basically, lily/ and
> lily/include/ligature-bracket.hh are no longer needed and could be
> removed, but then the documentation does not build any more, since
> there is still a LigatureBracket entry needed in
> scm/grob-description.scm.  Any idea what to do in such a case?

I added

 "A bracket indicating a ligature in the original edition",
 '(width thickness height ligature-primitive-callback))

to interface-description.scm

> This version of the cluster engraver still contains a silly bug: it
> sometimes produces errors like:
> ERROR: In procedure append:
> ERROR: Wrong type argument (expecting NULLP): #<freed cell 0x404d89f0; GC
> missed a reference>
> I guess, this has to do with protecting scheme expressions from
> garbage collection?  But Protected_scm(column_scm) does not seem to
> help here (nor does protecting columns_scm_ or segment).  Funnily, if
> I say "ly_display_scm(columns_scm_)" immediately after columns_scm_
> has been updated, the error disappears.  As a workaround, I put in an
> additional "cluster_->set_grob_property ("segments", columns_scm_)"
> into the code, which also seems to eliminate the error, but that's
> obviously not a real solution to the problem...

You should have Protected_scm as the type in the class definition,

class .. {

        Protected_scm columns_scm;

However, your solution (which you call ugh) is actually preferred,
since it exposes the columns variable to other engravers (through the
announce/acknowledge mechanism).


Han-Wen Nienhuys   |   address@hidden   | 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]