Commit: 74d31279cd90df312de2078d3323ddcb857e2bbf
Author: Bastien Montagne
Date:   Fri May 1 17:10:39 2015 +0200
Branches: master
https://developer.blender.org/rB74d31279cd90df312de2078d3323ddcb857e2bbf

Fix T44560: Merge Collapse tool - UVs operator panel option ignored with 
Collapse but not with other merge types.

Was missing parameter for collapse bmesh operator...

===================================================================

M       source/blender/bmesh/intern/bmesh_opdefines.c
M       source/blender/bmesh/operators/bmo_dissolve.c
M       source/blender/bmesh/operators/bmo_removedoubles.c
M       source/blender/editors/mesh/editmesh_tools.c

===================================================================

diff --git a/source/blender/bmesh/intern/bmesh_opdefines.c 
b/source/blender/bmesh/intern/bmesh_opdefines.c
index d0679b9..2ba65f5 100644
--- a/source/blender/bmesh/intern/bmesh_opdefines.c
+++ b/source/blender/bmesh/intern/bmesh_opdefines.c
@@ -359,6 +359,7 @@ static BMOpDefine bmo_collapse_def = {
        "collapse",
        /* slots_in */
        {{"edges", BMO_OP_SLOT_ELEMENT_BUF, {BM_EDGE}}, /* input edges */
+        {"uvs", BMO_OP_SLOT_BOOL}, /* also collapse UVs and such */
         {{'\0'}},
        },
        {{{'\0'}}},  /* no output */
diff --git a/source/blender/bmesh/operators/bmo_dissolve.c 
b/source/blender/bmesh/operators/bmo_dissolve.c
index ecb4136..ac0466a 100644
--- a/source/blender/bmesh/operators/bmo_dissolve.c
+++ b/source/blender/bmesh/operators/bmo_dissolve.c
@@ -494,7 +494,7 @@ void bmo_dissolve_limit_exec(BMesh *bm, BMOperator *op)
 
 static void bm_mesh_edge_collapse_flagged(BMesh *bm, const int flag, const 
short oflag)
 {
-       BMO_op_callf(bm, flag, "collapse edges=%fe", oflag);
+       BMO_op_callf(bm, flag, "collapse edges=%fe uvs=%b", oflag, true);
 }
 
 void bmo_dissolve_degenerate_exec(BMesh *bm, BMOperator *op)
diff --git a/source/blender/bmesh/operators/bmo_removedoubles.c 
b/source/blender/bmesh/operators/bmo_removedoubles.c
index 871bee6..73b6268 100644
--- a/source/blender/bmesh/operators/bmo_removedoubles.c
+++ b/source/blender/bmesh/operators/bmo_removedoubles.c
@@ -380,8 +380,11 @@ void bmo_collapse_exec(BMesh *bm, BMOperator *op)
        float min[3], max[3], center[3];
        unsigned int i, tot;
        BMOpSlot *slot_targetmap;
-       
-       BMO_op_callf(bm, op->flag, "collapse_uvs edges=%s", op, "edges");
+
+       if (BMO_slot_bool_get(op->slots_in, "uvs")) {
+               BMO_op_callf(bm, op->flag, "collapse_uvs edges=%s", op, 
"edges");
+       }
+
        BMO_op_init(bm, &weldop, op->flag, "weld_verts");
        slot_targetmap = BMO_slot_get(weldop.slots_in, "targetmap");
 
diff --git a/source/blender/editors/mesh/editmesh_tools.c 
b/source/blender/editors/mesh/editmesh_tools.c
index 6149631..54acf4a 100644
--- a/source/blender/editors/mesh/editmesh_tools.c
+++ b/source/blender/editors/mesh/editmesh_tools.c
@@ -492,7 +492,7 @@ static int edbm_collapse_edge_exec(bContext *C, wmOperator 
*op)
        Object *obedit = CTX_data_edit_object(C);
        BMEditMesh *em = BKE_editmesh_from_object(obedit);
 
-       if (!EDBM_op_callf(em, op, "collapse edges=%he", BM_ELEM_SELECT))
+       if (!EDBM_op_callf(em, op, "collapse edges=%he uvs=%b", BM_ELEM_SELECT, 
true))
                return OPERATOR_CANCELLED;
 
        EDBM_update_generic(em, true, true);
@@ -2049,9 +2049,7 @@ static int edbm_merge_exec(bContext *C, wmOperator *op)
                        ok = merge_firstlast(em, true, uvs, op);
                        break;
                case 5:
-                       ok = true;
-                       if (!EDBM_op_callf(em, op, "collapse edges=%he", 
BM_ELEM_SELECT))
-                               ok = false;
+                       ok = EDBM_op_callf(em, op, "collapse edges=%he uvs=%b", 
BM_ELEM_SELECT, uvs);
                        break;
                default:
                        BLI_assert(0);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to