This is my attempt to fix https://developer.blender.org/T50132
It seems to work, but I'm not sure if the code is ideal.
Details
Diff Detail
- Repository
- rB Blender
Event Timeline
Removed commented function. In my opinion, it's clearer if the contents are just used directly.
It seems the main code got lost in the last diff update?
But looks generally fine to me, just minor nitpicks.
I would add the if (sima->sticky == SI_STICKY_VERTEX) test around uvedit_vertex_select_tagged function call, and always tag the vertices. I think that's a bit more clear, and we shouldn't have to loop over all the faces again in other sticky modes.
| source/blender/editors/uvedit/uvedit_ops.c | ||
|---|---|---|
| 339 | Code style: { should be on a new line for functions and tabs should be used for indentation. | |
| 2928 | Code style: add space between ) and {, here and in other places. | |
I think I had messed up my local commit and had the changes in two commits, thus it wasn't showing in the diff :/ I was already using tabs, for instance.
I believe everything you mentioned is fixed now.
Sorry, I missed something before. We should clear all the vertex tags in a loop before the loop over faces, like this:
BM_ITER_MESH (eve, &iter, em->bm, BM_VERTS_OF_MESH) {
BM_elem_flag_disable(eve, BM_ELEM_TAG);
}With the current code a vertex shared between faces can lose a tag that was set before.
| source/blender/editors/uvedit/uvedit_ops.c | ||
|---|---|---|
| 2950 | Space: ) { | |