Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2012-11-30 20:41:43 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-11-30 20:41:43 +0400
commit5446dc0bf3386e52202ae7af83c562c247c743d7 (patch)
treefaf2ca6eea28f8c5d5beb0d35906546335131171 /source/blender/editors/uvedit
parentd72a6c3018f754cc1628267edd45f6a83afbfa42 (diff)
fix for various asserts running operator tests - not likely any of these would cause real user bugs though.
Diffstat (limited to 'source/blender/editors/uvedit')
-rw-r--r--source/blender/editors/uvedit/uvedit_smart_stitch.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/source/blender/editors/uvedit/uvedit_smart_stitch.c b/source/blender/editors/uvedit/uvedit_smart_stitch.c
index e10d70d48d1..4ca642690c4 100644
--- a/source/blender/editors/uvedit/uvedit_smart_stitch.c
+++ b/source/blender/editors/uvedit/uvedit_smart_stitch.c
@@ -1072,17 +1072,23 @@ static int stitch_init(bContext *C, wmOperator *op)
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 @@ static int stitch_init(bContext *C, wmOperator *op)
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);