[Bf-blender-cvs] [25eb0c9cf48] master: Fix T78151: Vertex/Edge Slide after enabling 'Even' doesn't cancel properly

Germano Cavalcante noreply at git.blender.org
Fri Jun 26 14:16:34 CEST 2020


Commit: 25eb0c9cf481a8bb03c6db773cafdff4c1f49986
Author: Germano Cavalcante
Date:   Wed Jun 24 14:53:23 2020 -0300
Branches: master
https://developer.blender.org/rB25eb0c9cf481a8bb03c6db773cafdff4c1f49986

Fix T78151: Vertex/Edge Slide after enabling 'Even' doesn't cancel properly

Problem introduced by rBcf42721f

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

M	source/blender/editors/transform/transform_convert_mesh.c
M	source/blender/editors/transform/transform_mode.h
M	source/blender/editors/transform/transform_mode_edge_slide.c
M	source/blender/editors/transform/transform_mode_vert_slide.c

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

diff --git a/source/blender/editors/transform/transform_convert_mesh.c b/source/blender/editors/transform/transform_convert_mesh.c
index 0f181a52810..d755693bdb6 100644
--- a/source/blender/editors/transform/transform_convert_mesh.c
+++ b/source/blender/editors/transform/transform_convert_mesh.c
@@ -1401,16 +1401,7 @@ void recalcData_mesh(TransInfo *t)
 void special_aftertrans_update__mesh(bContext *UNUSED(C), TransInfo *t)
 {
   const bool canceled = (t->state == TRANS_CANCEL);
-
-  if (canceled) {
-    /* Exception, edge slide transformed UVs too. */
-    if (t->mode == TFM_EDGE_SLIDE) {
-      doEdgeSlide(t, 0.0f);
-    }
-    else if (t->mode == TFM_VERT_SLIDE) {
-      doVertSlide(t, 0.0f);
-    }
-  }
+  const bool use_automerge = !canceled && (t->flag & (T_AUTOMERGE | T_AUTOSPLIT)) != 0;
 
   if (ELEM(t->mode, TFM_EDGE_SLIDE, TFM_VERT_SLIDE)) {
     /* Handle multires re-projection, done
@@ -1421,10 +1412,8 @@ void special_aftertrans_update__mesh(bContext *UNUSED(C), TransInfo *t)
     }
   }
 
-  bool use_automerge = !canceled && (t->flag & (T_AUTOMERGE | T_AUTOSPLIT)) != 0;
   if (use_automerge) {
     FOREACH_TRANS_DATA_CONTAINER (t, tc) {
-
       BMEditMesh *em = BKE_editmesh_from_object(tc->obedit);
       BMesh *bm = em->bm;
       char hflag;
diff --git a/source/blender/editors/transform/transform_mode.h b/source/blender/editors/transform/transform_mode.h
index 0d663377da3..5cda8e3063a 100644
--- a/source/blender/editors/transform/transform_mode.h
+++ b/source/blender/editors/transform/transform_mode.h
@@ -97,7 +97,6 @@ void initSeqSlide(TransInfo *t);
 
 /* transform_mode_edge_slide.c */
 void drawEdgeSlide(TransInfo *t);
-void doEdgeSlide(TransInfo *t, float perc);
 void initEdgeSlide_ex(
     TransInfo *t, bool use_double_side, bool use_even, bool flipped, bool use_clamp);
 void initEdgeSlide(TransInfo *t);
@@ -155,7 +154,6 @@ void initTranslation(TransInfo *t);
 
 /* transform_mode_vert_slide.c */
 void drawVertSlide(TransInfo *t);
-void doVertSlide(TransInfo *t, float perc);
 void initVertSlide_ex(TransInfo *t, bool use_even, bool flipped, bool use_clamp);
 void initVertSlide(TransInfo *t);
 #endif
diff --git a/source/blender/editors/transform/transform_mode_edge_slide.c b/source/blender/editors/transform/transform_mode_edge_slide.c
index 9a82296bfc0..737b3001d62 100644
--- a/source/blender/editors/transform/transform_mode_edge_slide.c
+++ b/source/blender/editors/transform/transform_mode_edge_slide.c
@@ -1323,7 +1323,7 @@ static void edge_slide_snap_apply(TransInfo *t, float *value)
   *value = perc;
 }
 
-void doEdgeSlide(TransInfo *t, float perc)
+static void doEdgeSlide(TransInfo *t, float perc)
 {
   EdgeSlideParams *slp = t->custom.mode.data;
   EdgeSlideData *sld_active = edgeSlideFirstGet(t);
diff --git a/source/blender/editors/transform/transform_mode_vert_slide.c b/source/blender/editors/transform/transform_mode_vert_slide.c
index 157358016e6..a6b37bf1df8 100644
--- a/source/blender/editors/transform/transform_mode_vert_slide.c
+++ b/source/blender/editors/transform/transform_mode_vert_slide.c
@@ -492,7 +492,7 @@ void drawVertSlide(TransInfo *t)
   }
 }
 
-void doVertSlide(TransInfo *t, float perc)
+static void doVertSlide(TransInfo *t, float perc)
 {
   VertSlideParams *slp = t->custom.mode.data;



More information about the Bf-blender-cvs mailing list