[Bf-committers] Do we accept to have infinite recursive RNA layout patterns?

Bastien Montagne montagne29 at wanadoo.fr
Fri Mar 16 15:50:34 CET 2018


Hi devs,

So, was investigating a weird issue today found while doing some static 
override tests, and ended up finding the someone, at some era lost in 
the mist of times, had the genius idea of creating a sort of infinite 
recursion in  PointCache RNA struct (defined in rna_object_force.c). 
That is, pointcache owner has a pointer to active pointcache, and said 
active pointcache has a collection of all pointcaches from owner's list 
(since in DNA, PointCache is actually a linked list item).

Needless to say that this totally breaks attempt to walk in RNA data, 
since you'll indefinitely dive into recursive versions of point_caches 
collection items (giving RNA paths like that: 
'particle_systems["feathers_big"].point_cache.point_caches[0].point_caches[0].point_caches[0].…').

Before nuking this non-sense away and sanitizing the mess, I thought I’d 
ask if someone remembers any good reason for current RNA code/layout 
there… Since changing that will introduce RNA API breakage (though 
point_cache does not seems to be used by any addon in our repositories 
currently), would also probably only do it in 2.8 branch?

Cheers,
Bastien



More information about the Bf-committers mailing list