diff options
author | Joseph Eagar <joeedh@gmail.com> | 2009-05-19 04:33:54 +0400 |
---|---|---|
committer | Joseph Eagar <joeedh@gmail.com> | 2009-05-19 04:33:54 +0400 |
commit | b7fe3258b66698f62f630d0b18431b54b65101ed (patch) | |
tree | 74b32c07db8ce268a4792fd0d0977004477a6ff3 /source/blender/editors/mesh/bmeshutils.c | |
parent | a8c0b748c965c90f81ee7ef77bbeb4d5809ce004 (diff) |
some stability stuff related to undo, and more extrude stuff works
Diffstat (limited to 'source/blender/editors/mesh/bmeshutils.c')
-rw-r--r-- | source/blender/editors/mesh/bmeshutils.c | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/source/blender/editors/mesh/bmeshutils.c b/source/blender/editors/mesh/bmeshutils.c index 6171967879e..2d15644cbde 100644 --- a/source/blender/editors/mesh/bmeshutils.c +++ b/source/blender/editors/mesh/bmeshutils.c @@ -146,9 +146,9 @@ void EDBM_Tesselate(EditMesh *em) } } -int EDBM_CallOpf(EditMesh *em, wmOperator *op, char *fmt, ...) +int EDBM_CallOpf(BMEditMesh *em, wmOperator *op, char *fmt, ...) { - BMesh *bm = editmesh_to_bmesh(em); + BMesh *bm = em->bm; BMOperator bmop; va_list list; @@ -169,9 +169,9 @@ int EDBM_CallOpf(EditMesh *em, wmOperator *op, char *fmt, ...) return EDBM_Finish(bm, em, op, 1); } -int EDBM_CallOpfSilent(EditMesh *em, char *fmt, ...) +int EDBM_CallOpfSilent(BMEditMesh *em, char *fmt, ...) { - BMesh *bm = editmesh_to_bmesh(em); + BMesh *bm = em->bm; BMOperator bmop; va_list list; @@ -192,20 +192,15 @@ int EDBM_CallOpfSilent(EditMesh *em, char *fmt, ...) /*returns 0 on error, 1 on success*/ int EDBM_Finish(BMesh *bm, EditMesh *em, wmOperator *op, int report) { - EditMesh *em2; char *errmsg; if (BMO_GetError(bm, &errmsg, NULL)) { if (report) BKE_report(op->reports, RPT_ERROR, errmsg); - BM_Free_Mesh(bm); + /*BMESH_TODOwe should really undo here or something, back + out of the failed op :/*/ return 0; } - em2 = bmesh_to_editmesh(bm); - set_editMesh(em, em2); - MEM_freeN(em2); - BM_Free_Mesh(bm); - return 1; } |