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-08-04 00:12:49 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-08-04 00:12:49 +0400
commit1d5b2ea253b3e8a60a33e071d4da42508b492c9b (patch)
treece3786bd439f303832e04f73b22f31f50594d28e /source/blender/editors/transform
parenta76b704f9a52c1459bd2118272eb149b959ddc79 (diff)
mask transforming when a mesh object was in editmode (but had no UV's), failed
Diffstat (limited to 'source/blender/editors/transform')
-rw-r--r--source/blender/editors/transform/transform.c1
-rw-r--r--source/blender/editors/transform/transform_constraints.c8
-rw-r--r--source/blender/editors/transform/transform_generics.c17
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;
}