Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(1933)

Issue 4747045: Checks for grobs with circular parentage in the regtests. (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
12 years, 9 months ago by MikeSol
Modified:
12 years, 9 months ago
Reviewers:
pkx166h, mike, hanwenn
CC:
lilypond-devel_gnu.org
Visibility:
Public.

Description

Checks for grobs with circular parentage in the regtests. Eliminates all circular parenting cases from the code base, allowing for null pointers to be parents but issuing a programming error (this should only happen for staves that will never see the light of day due to bad code).

Patch Set 1 #

Patch Set 2 : Fixes problem with pitched trill parentage. #

Total comments: 3
Unified diffs Side-by-side diffs Delta from patch set Stats (+64 lines, -17 lines) Patch
M lily/dynamic-align-engraver.cc View 1 chunk +20 lines, -10 lines 0 comments Download
M lily/grob.cc View 1 chunk +22 lines, -0 lines 1 comment Download
M lily/include/grob.hh View 1 chunk +1 line, -0 lines 1 comment Download
M lily/include/main.hh View 1 chunk +1 line, -0 lines 0 comments Download
M lily/pitched-trill-engraver.cc View 1 2 chunks +6 lines, -6 lines 1 comment Download
M lily/program-option-scheme.cc View 2 chunks +10 lines, -0 lines 0 comments Download
M make/lilypond-vars.make View 1 chunk +1 line, -0 lines 0 comments Download
M make/lysdoc-targets.make View 1 chunk +1 line, -1 line 0 comments Download
M scm/lily.scm View 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 5
MikeSol
This gets rid of all circular parentage in LilyPond (at least all that's in the ...
12 years, 9 months ago (2011-07-15 20:11:38 UTC) #1
hanwenn
http://codereview.appspot.com/4747045/diff/2001/lily/grob.cc File lily/grob.cc (right): http://codereview.appspot.com/4747045/diff/2001/lily/grob.cc#newcode528 lily/grob.cc:528: Grob::in_own_family_tree (Grob *g, Grob *orig) I think this should ...
12 years, 9 months ago (2011-07-16 01:39:48 UTC) #2
pkx166h
passes make, but some reg tests are different. Trillspanner ones (trill is shorter than before). ...
12 years, 9 months ago (2011-07-16 14:25:05 UTC) #3
mike_apollinemike.com
On Jul 16, 2011, at 3:39 AM, hanwenn@gmail.com wrote: > > http://codereview.appspot.com/4747045/diff/2001/lily/grob.cc > File lily/grob.cc ...
12 years, 9 months ago (2011-07-16 15:31:33 UTC) #4
hanwenn
12 years, 9 months ago (2011-07-18 00:50:15 UTC) #5
On Sat, Jul 16, 2011 at 12:31 PM, mike@apollinemike.com
<mike@apollinemike.com> wrote:

>
> I'm gonna pull this patch out of consideration - both you and Neil are right
about checking parents on an axis-by-axis basis.  My desire to do this comes
from an incomplete understanding of what "parent" means in LilyPond speak.  I
now understand that grob A can be grob B's X parent while grob B is grob A's Y
parent.  In this case, the approach in my tuplet patch holds because I only
check along the Y_AXIS (as Carl suggested), which eliminates the recursive
problem.


Also, code that actually creates loops would never finish compiling.  We do

  obj->relative_coordinate(system, axis)

in some place, and if there were a loop, this would never exit.

-- 
Han-Wen Nienhuys - hanwen@xs4all.nl - http://www.xs4all.nl/~hanwen
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b