forked from bartvdbraak/blender
Fix for bug #8713: edge loop delete did an undo push too much.
This commit is contained in:
parent
d94038342c
commit
972b0a5218
@ -181,6 +181,8 @@ extern void select_mesh_group_menu(void);
|
||||
extern void editmesh_mark_seam(int clear);
|
||||
extern void loop_multiselect(int looptype);
|
||||
|
||||
extern void EM_select_more(void);
|
||||
extern void EM_select_less(void);
|
||||
|
||||
/* ******************* editmesh_loop.c */
|
||||
|
||||
|
@ -3200,7 +3200,7 @@ void deselectall_mesh(void) /* this toggles!!!, UI level */
|
||||
}
|
||||
}
|
||||
|
||||
void select_more(void)
|
||||
void EM_select_more(void)
|
||||
{
|
||||
EditMesh *em = G.editMesh;
|
||||
EditVert *eve;
|
||||
@ -3238,6 +3238,11 @@ void select_more(void)
|
||||
EM_select_face(efa, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void select_more(void)
|
||||
{
|
||||
EM_select_more();
|
||||
|
||||
countall();
|
||||
addqueue(curarea->win, REDRAW, 0);
|
||||
@ -3246,7 +3251,7 @@ void select_more(void)
|
||||
BIF_undo_push("Select More");
|
||||
}
|
||||
|
||||
void select_less(void)
|
||||
void EM_select_less(void)
|
||||
{
|
||||
EditMesh *em = G.editMesh;
|
||||
EditEdge *eed;
|
||||
@ -3306,6 +3311,11 @@ void select_less(void)
|
||||
EM_selectmode_flush();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void select_less(void)
|
||||
{
|
||||
EM_select_less();
|
||||
|
||||
countall();
|
||||
BIF_undo_push("Select Less");
|
||||
|
@ -994,9 +994,10 @@ void delete_mesh(void)
|
||||
erase_vertices(&em->verts);
|
||||
}
|
||||
else if(event==6) {
|
||||
if(!EdgeLoopDelete()) {
|
||||
BIF_undo();
|
||||
}
|
||||
if(!EdgeLoopDelete())
|
||||
return;
|
||||
|
||||
str= "Erase Edge Loop";
|
||||
}
|
||||
else if(event==4) {
|
||||
str= "Erase Edges & Faces";
|
||||
@ -4659,7 +4660,7 @@ int EdgeLoopDelete(void) {
|
||||
if(!EdgeSlide(1, 1)) {
|
||||
return 0;
|
||||
}
|
||||
select_more();
|
||||
EM_select_more();
|
||||
removedoublesflag(1,0, 0.001);
|
||||
EM_select_flush();
|
||||
DAG_object_flush_update(G.scene, G.obedit, OB_RECALC_DATA);
|
||||
|
@ -2718,7 +2718,11 @@ void do_view3d_edit_mesh_edgesmenu(void *arg, int event)
|
||||
EdgeSlide(0,0.0);
|
||||
break;
|
||||
case 13: /* Edge Loop Delete */
|
||||
EdgeLoopDelete();
|
||||
if(EdgeLoopDelete()) {
|
||||
countall();
|
||||
BIF_undo_push("Erase Edge Loop");
|
||||
DAG_object_flush_update(G.scene, G.obedit, OB_RECALC_DATA);
|
||||
}
|
||||
break;
|
||||
case 14: /*Collapse Edges*/
|
||||
collapseEdges();
|
||||
|
Loading…
Reference in New Issue
Block a user