Page MenuHome

Fix T66835: Dynamic Paint weight group isn't updated unless weight has been assigned
ClosedPublic

Authored by Sebastian Parborg (zeddb) on Jul 15 2019, 6:26 PM.

Details

Summary

The dvert data type was not initialized unless you had assigned one vert to a vertex group.

I copied the code from MOD_weightvgmix.c and added it to MOD_get_vgroup. This ensures that we will have initialized dvert data.
I don't know if this is the right way to solve it. But it seems to me that most modifiers would want this to happen automatically (?).

Diff Detail

Repository
rB Blender

Event Timeline

Sebastian Parborg (zeddb) edited the summary of this revision. (Show Details)
Brecht Van Lommel (brecht) requested changes to this revision.EditedJul 15 2019, 6:44 PM

This is not the correct solution, MOD_get_vgroup should not create a vertex group or modify mesh->dvert. It should be strictly a read-only operation as the name implies.

Whatever code is creating the vertex group should set things up correctly and call BKE_mesh_update_customdata_pointers to set mesh->dvert.

This revision now requires changes to proceed.Jul 15 2019, 6:44 PM

The actually fix was very simple. I don't know why I come up with these complicated solutions on the first try.
Thanks for your help.

Brecht Van Lommel (brecht) added inline comments.
source/blender/blenkernel/intern/dynamicpaint.c
2026

acessable -> accessible

End comments with a dot.

This revision is now accepted and ready to land.Jul 16 2019, 11:33 AM