diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-08-04 00:12:49 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-08-04 00:12:49 +0400 |
commit | 1d5b2ea253b3e8a60a33e071d4da42508b492c9b (patch) | |
tree | ce3786bd439f303832e04f73b22f31f50594d28e /source/blender/editors | |
parent | a76b704f9a52c1459bd2118272eb149b959ddc79 (diff) |
mask transforming when a mesh object was in editmode (but had no UV's), failed
Diffstat (limited to 'source/blender/editors')
-rw-r--r-- | source/blender/editors/transform/transform.c | 1 | ||||
-rw-r--r-- | source/blender/editors/transform/transform_constraints.c | 8 | ||||
-rw-r--r-- | source/blender/editors/transform/transform_generics.c | 17 |
3 files changed, 18 insertions, 8 deletions
diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c index feab96d6ddf..acda6c3d399 100644 --- a/source/blender/editors/transform/transform.c +++ b/source/blender/editors/transform/transform.c @@ -175,7 +175,6 @@ void convertViewVec(TransInfo *t, float r_vec[3], int dx, int dy) if (t->options & CTX_MASK) { convertViewVec2D_mask(t->view, r_vec, dx, dy); - ED_space_image_get_aspect(t->sa->spacedata.first, &aspx, &aspy); } else { diff --git a/source/blender/editors/transform/transform_constraints.c b/source/blender/editors/transform/transform_constraints.c index b5b1fbde184..0aa46a36afe 100644 --- a/source/blender/editors/transform/transform_constraints.c +++ b/source/blender/editors/transform/transform_constraints.c @@ -722,7 +722,13 @@ void drawPropCircle(const struct bContext *C, TransInfo *t) else if (t->spacetype == SPACE_IMAGE) { float aspx, aspy; - ED_space_image_get_uv_aspect(t->sa->spacedata.first, &aspx, &aspy); + if (t->options & CTX_MASK) { + /* untested - mask aspect is TODO */ + ED_space_image_get_aspect(t->sa->spacedata.first, &aspx, &aspy); + } + else { + ED_space_image_get_uv_aspect(t->sa->spacedata.first, &aspx, &aspy); + } glScalef(1.0f / aspx, 1.0f / aspy, 1.0); } diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c index ff18b23dc91..43de0f2b35f 100644 --- a/source/blender/editors/transform/transform_generics.c +++ b/source/blender/editors/transform/transform_generics.c @@ -620,7 +620,10 @@ static void recalcData_mask_common(TransInfo *t) /* helper for recalcData() - for Image Editor transforms */ static void recalcData_image(TransInfo *t) { - if (t->obedit && t->obedit->type == OB_MESH) { + if (t->options & CTX_MASK) { + recalcData_mask_common(t); + } + else if (t->obedit && t->obedit->type == OB_MESH) { SpaceImage *sima = t->sa->spacedata.first; flushTransUVs(t); @@ -629,9 +632,6 @@ static void recalcData_image(TransInfo *t) DAG_id_tag_update(t->obedit->data, 0); } - else if (t->options & CTX_MASK) { - recalcData_mask_common(t); - } } /* helper for recalcData() - for Movie Clip transforms */ @@ -1113,7 +1113,7 @@ int initTransInfo(bContext *C, TransInfo *t, wmOperator *op, wmEvent *event) t->view = &ar->v2d; t->around = sima->around; - if (t->obedit) { + if (ED_space_image_show_uvedit(sima, t->obedit)) { /* UV transform */ } else if (sima->mode == SI_MODE_MASK) { @@ -1445,7 +1445,12 @@ void calculateCenterCursor2D(TransInfo *t) if (t->spacetype == SPACE_IMAGE) { SpaceImage *sima = (SpaceImage *)t->sa->spacedata.first; /* only space supported right now but may change */ - ED_space_image_get_uv_aspect(sima, &aspx, &aspy); + if (t->options & CTX_MASK) { + ED_space_image_get_aspect(sima, &aspx, &aspy); + } + else { + ED_space_image_get_uv_aspect(sima, &aspx, &aspy); + } cursor = sima->cursor; } |