Page MenuHome

Fix T102257: Crash when making an Object as Effector set to Guide and trying to scrub the timeline
ClosedPublic

Authored by Germano Cavalcante (mano-wii) on Nov 7 2022, 6:25 PM.

Details

Summary

I worked on this fix because rB67e23b4b2967 revealed the bug. But the
bug already existed before, it just wasn't triggered.

Apparently the problem happens because the python code generated in
initGuiding() cannot be executed twice.

The second time the initGuiding() code is executed, the local python
variables are removed to make way for the others, but the reference to
one of the grids in a Solver object (name='solver_guiding2') is still
being used somewhere. So an error is raised and a crash is forced.

The proposed solution is to prevent the python code in initGuiding()
from being executed twice.

When FLUID_DOMAIN_ACTIVE_GUIDE is in fds->active_fields this
indicates that the pointer in mPhiGuideIn has been set and the guiding
is already computed (does not need to be computed again).

Ref T102257

Diff Detail

Repository
rB Blender
Branch
master
Build Status
Buildable 24525
Build 24525: arc lint + arc unit