[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [52688] trunk/blender/source/blender: fix for various asserts running operator tests - not likely any of these would cause real user bugs though .
Campbell Barton
ideasman42 at gmail.com
Fri Nov 30 17:41:44 CET 2012
Revision: 52688
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=52688
Author: campbellbarton
Date: 2012-11-30 16:41:43 +0000 (Fri, 30 Nov 2012)
Log Message:
-----------
fix for various asserts running operator tests - not likely any of these would cause real user bugs though.
Modified Paths:
--------------
trunk/blender/source/blender/bmesh/operators/bmo_smooth_laplacian.c
trunk/blender/source/blender/editors/mesh/editmesh_select.c
trunk/blender/source/blender/editors/mesh/editmesh_tools.c
trunk/blender/source/blender/editors/uvedit/uvedit_smart_stitch.c
Modified: trunk/blender/source/blender/bmesh/operators/bmo_smooth_laplacian.c
===================================================================
--- trunk/blender/source/blender/bmesh/operators/bmo_smooth_laplacian.c 2012-11-30 16:15:49 UTC (rev 52687)
+++ trunk/blender/source/blender/bmesh/operators/bmo_smooth_laplacian.c 2012-11-30 16:41:43 UTC (rev 52688)
@@ -544,6 +544,7 @@
BMVert *v;
LaplacianSystem *sys;
+ if (bm->totface == 0) return;
sys = init_laplacian_system(bm->totedge, bm->totface, bm->totvert);
if (!sys) return;
sys->bm = bm;
Modified: trunk/blender/source/blender/editors/mesh/editmesh_select.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_select.c 2012-11-30 16:15:49 UTC (rev 52687)
+++ trunk/blender/source/blender/editors/mesh/editmesh_select.c 2012-11-30 16:41:43 UTC (rev 52688)
@@ -732,7 +732,7 @@
EDBM_flag_disable_all(em, BM_ELEM_SELECT);
/* select the output */
- BMO_slot_buffer_hflag_enable(em->bm, bmop.slots_out, "faces.out", BM_ALL_NOLOOP, BM_ELEM_SELECT, TRUE);
+ BMO_slot_buffer_hflag_enable(em->bm, bmop.slots_out, "faces.out", BM_FACE, BM_ELEM_SELECT, TRUE);
/* finish the operator */
if (!EDBM_op_finish(em, &bmop, op, TRUE)) {
@@ -773,7 +773,7 @@
EDBM_flag_disable_all(em, BM_ELEM_SELECT);
/* select the output */
- BMO_slot_buffer_hflag_enable(em->bm, bmop.slots_out, "edges.out", BM_ALL_NOLOOP, BM_ELEM_SELECT, TRUE);
+ BMO_slot_buffer_hflag_enable(em->bm, bmop.slots_out, "edges.out", BM_EDGE, BM_ELEM_SELECT, TRUE);
EDBM_selectmode_flush(em);
/* finish the operator */
@@ -817,7 +817,7 @@
EDBM_flag_disable_all(em, BM_ELEM_SELECT);
/* select the output */
- BMO_slot_buffer_hflag_enable(em->bm, bmop.slots_out, "verts.out", BM_ALL_NOLOOP, BM_ELEM_SELECT, TRUE);
+ BMO_slot_buffer_hflag_enable(em->bm, bmop.slots_out, "verts.out", BM_VERT, BM_ELEM_SELECT, TRUE);
/* finish the operator */
if (!EDBM_op_finish(em, &bmop, op, TRUE)) {
Modified: trunk/blender/source/blender/editors/mesh/editmesh_tools.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_tools.c 2012-11-30 16:15:49 UTC (rev 52687)
+++ trunk/blender/source/blender/editors/mesh/editmesh_tools.c 2012-11-30 16:41:43 UTC (rev 52688)
@@ -2319,7 +2319,7 @@
/* EDBM_flag_disable_all(em, BM_ELEM_SELECT); */
/* select the output */
- BMO_slot_buffer_hflag_enable(em->bm, bmop.slots_out, "verts.out", BM_ALL_NOLOOP, BM_ELEM_SELECT, TRUE);
+ BMO_slot_buffer_hflag_enable(em->bm, bmop.slots_out, "verts.out", BM_VERT, BM_ELEM_SELECT, TRUE);
/* finish the operator */
if (!EDBM_op_finish(em, &bmop, op, TRUE)) {
Modified: trunk/blender/source/blender/editors/uvedit/uvedit_smart_stitch.c
===================================================================
--- trunk/blender/source/blender/editors/uvedit/uvedit_smart_stitch.c 2012-11-30 16:15:49 UTC (rev 52687)
+++ trunk/blender/source/blender/editors/uvedit/uvedit_smart_stitch.c 2012-11-30 16:41:43 UTC (rev 52688)
@@ -1072,17 +1072,23 @@
BMEditMesh *em;
GHashIterator *ghi;
UvEdge *all_edges;
- StitchState *state = MEM_mallocN(sizeof(StitchState), "stitch state");
+ StitchState *state;
Scene *scene = CTX_data_scene(C);
ToolSettings *ts = scene->toolsettings;
+ ARegion *ar = CTX_wm_region(C);
Object *obedit = CTX_data_edit_object(C);
- op->customdata = state;
+ if (!ar)
+ return 0;
+ state = MEM_mallocN(sizeof(StitchState), "stitch state");
+
if (!state)
return 0;
+ op->customdata = state;
+
/* initialize state */
state->use_limit = RNA_boolean_get(op->ptr, "use_limit");
state->limit_dist = RNA_float_get(op->ptr, "limit");
@@ -1091,7 +1097,7 @@
state->static_island = RNA_int_get(op->ptr, "static_island");
state->midpoints = RNA_boolean_get(op->ptr, "midpoint_snap");
state->clear_seams = RNA_boolean_get(op->ptr, "clear_seams");
- state->draw_handle = ED_region_draw_cb_activate(CTX_wm_region(C)->type, stitch_draw, NULL, REGION_DRAW_POST_VIEW);
+ state->draw_handle = ED_region_draw_cb_activate(ar->type, stitch_draw, NULL, REGION_DRAW_POST_VIEW);
/* in uv synch selection, all uv's are visible */
if (ts->uv_flag & UV_SYNC_SELECTION) {
state->element_map = EDBM_uv_element_map_create(state->em, 0, 1);
More information about the Bf-blender-cvs
mailing list