lilypond-devel
[Top][All Lists]
Advanced

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

Re: Fixes footnote automatic numbering. (issue 4877041)


From: address@hidden
Subject: Re: Fixes footnote automatic numbering. (issue 4877041)
Date: Mon, 14 Nov 2011 14:23:10 +0100

Thanks for the feedback!  A couple questions below.

On Nov 14, 2011, at 12:34 PM, address@hidden wrote:

> 
> http://codereview.appspot.com/4877041/diff/26012/lily/system.cc#newcode248
> lily/system.cc:248: if (s->original ())
> You don't check for success of the dynamic_cast before using it.  Is
> that a problem?
> 
> http://codereview.appspot.com/4877041/diff/26012/lily/system.cc#newcode367
> lily/system.cc:367: Grob *me = unsmob_grob (smob);
> According to the compiler, getting the pointer me is the last operation
> for which smob is needed.  After that, it is free for garbage
> collection.
> 
> If you are not sure that other references to smob keep it from being
> collected, you need to write
> scm_remember_upto_here_1 (smob)
> at the place where garbage collecting smob will no longer be a problem.
> 
> That's probably after all the relevant info is entered in grobs_scm.
> 

How is this function different from other callback functions that use the 
convention Grob *me = unsmob_smob (smob); ?  I understand what you're saying 
with scm_remember_upto_here, but I don't see why this function would need it 
where other callback functions don't.

Also, is it safe to put a smob up for garbage collection after it is put into a 
grob array?  That is, the next time that the grob array is unsmobed, will it 
potentially contain a smob that has been garbage collected?


reply via email to

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