Page MenuHome

Fix T69488: Hair particles: rekey disolves the hair then crashes
Needs ReviewPublic

Authored by Philipp Oeser (lichtwerk) on Wed, Sep 11, 11:37 AM.

Details

Summary

caused by rB914427afd512.

I assume the changes in above commit [exclusion of handling
PT_CACHE_EDIT_UPDATE_PARTICLE_FROM_EVAL] were meant for
PE_create_current only?
Because atm. this basically gets skipped for everything calling
PE_get_current (this passes a NULL depsgraph as opposed to
PE_create_current)

Since there are many calls of PE_get_current I can imagine this
affecting other bugs as well?

Diff Detail

Repository
rB Blender
Branch
T69488 (branched from master)
Build Status
Buildable 5015
Build 5015: arc lint + arc unit

Event Timeline

Sounds like passing depsgraph to PE_get_current() will make things more clear and less fragile?

Otherwise, maybe the entire check can be reduced to if (edit), doesn't seem that this code is currently run for renderers. Would be cool to find a way to make renderers being able to visualize currently editing hair though.

Sounds like passing depsgraph to PE_get_current() will make things more clear and less fragile?

Will update accordingly...

Otherwise, maybe the entire check can be reduced to if (edit), doesn't seem that this code is currently run for renderers.

thought that would reintroduce T66686: Crash on Particle Edit, then Render, but it actually doesnt... so looks like this is an alternative...

pass depsgraph to PE_get_current() instead

there are two RNA cases where I have to pass NULL, namely

  • rna_ParticleEdit_editable_get
  • rna_ParticleEdit_hair_get

I guess these should be fine though (no functional change to current master)