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

Problem introduced by rBcf42721f
This commit is contained in:
Germano Cavalcante 2020-06-24 14:53:23 -03:00
parent ede6e739dd
commit 25eb0c9cf4
Notes: blender-bot 2023-02-14 04:20:36 +01:00
Referenced by issue #78151, "Vertex Slide / Edge Slide" after enabling 'Even' doesn't cancel properly
4 changed files with 3 additions and 16 deletions

View File

@ -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;

View File

@ -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

View File

@ -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);

View File

@ -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;