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-07-31 18:16:27 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-07-31 18:16:27 +0400
commitc42d0189e586419269e9004868bec365e1b8396f (patch)
tree896796da95b1f292ce36d61e4cf7224230b4f2e3
parent8f6197bd08955f210653973f313bd4de5026bd91 (diff)
resolve glitch in the image space where mask editing and UVs would conflict.
now UV editing overrides mask.
-rw-r--r--release/scripts/startup/bl_ui/space_image.py6
-rw-r--r--source/blender/blenkernel/BKE_mesh.h4
-rw-r--r--source/blender/blenkernel/intern/cdderivedmesh.c5
-rw-r--r--source/blender/editors/include/ED_image.h2
-rw-r--r--source/blender/editors/screen/screen_ops.c3
-rw-r--r--source/blender/editors/space_image/image_edit.c11
-rw-r--r--source/blender/makesrna/intern/rna_object_api.c2
7 files changed, 18 insertions, 15 deletions
diff --git a/release/scripts/startup/bl_ui/space_image.py b/release/scripts/startup/bl_ui/space_image.py
index 3d9b3afc4ee..e86c18aeba2 100644
--- a/release/scripts/startup/bl_ui/space_image.py
+++ b/release/scripts/startup/bl_ui/space_image.py
@@ -380,6 +380,8 @@ class IMAGE_HT_header(Header):
if not show_render:
layout.prop(sima, "use_image_pin", text="")
+ layout.prop(sima, "mode", text="")
+
# uv editing
if show_uvedit:
uvedit = sima.uv_editor
@@ -405,9 +407,7 @@ class IMAGE_HT_header(Header):
mesh = context.edit_object.data
layout.prop_search(mesh.uv_textures, "active", mesh, "uv_textures", text="")
- layout.prop(sima, "mode", text="")
-
- if mode == 'MASK':
+ elif mode == 'MASK':
row = layout.row()
row.template_ID(sima, "mask", new="mask.new")
diff --git a/source/blender/blenkernel/BKE_mesh.h b/source/blender/blenkernel/BKE_mesh.h
index b635a37e4f6..954fb47806b 100644
--- a/source/blender/blenkernel/BKE_mesh.h
+++ b/source/blender/blenkernel/BKE_mesh.h
@@ -161,8 +161,8 @@ void BKE_mesh_convert_mfaces_to_mpolys_ex(struct ID *id,
struct CustomData *fdata, struct CustomData *ldata, struct CustomData *pdata,
int totedge_i, int totface_i, int totloop_i, int totpoly_i,
struct MEdge *medge, struct MFace *mface,
- int *totloop_r, int *totpoly_r,
- struct MLoop **mloop_r, struct MPoly **mpoly_r);
+ int *totloop_r, int *totpoly_r,
+ struct MLoop **mloop_r, struct MPoly **mpoly_r);
void BKE_mesh_calc_normals_tessface(struct MVert *mverts, int numVerts, struct MFace *mfaces, int numFaces, float (*faceNors_r)[3]);
diff --git a/source/blender/blenkernel/intern/cdderivedmesh.c b/source/blender/blenkernel/intern/cdderivedmesh.c
index 641033a2ec9..88748d5f0b8 100644
--- a/source/blender/blenkernel/intern/cdderivedmesh.c
+++ b/source/blender/blenkernel/intern/cdderivedmesh.c
@@ -1754,7 +1754,6 @@ DerivedMesh *CDDM_from_curve_orco(struct Scene *scene, Object *ob)
DerivedMesh *CDDM_from_curve_displist(Object *ob, ListBase *dispbase, int **orco_index_ptr)
{
- const short do_orco_as_uv= 1;
DerivedMesh *dm;
CDDerivedMesh *cddm;
MVert *allvert;
@@ -1787,10 +1786,6 @@ DerivedMesh *CDDM_from_curve_displist(Object *ob, ListBase *dispbase, int **orco
CDDM_calc_edges(dm);
- if (do_orco_as_uv ) {
- BKE_curve_make_orco(NULL, ob);
- }
-
return dm;
}
diff --git a/source/blender/editors/include/ED_image.h b/source/blender/editors/include/ED_image.h
index ae30b646db0..d291c500547 100644
--- a/source/blender/editors/include/ED_image.h
+++ b/source/blender/editors/include/ED_image.h
@@ -71,7 +71,7 @@ int ED_space_image_show_paint(struct SpaceImage *sima);
int ED_space_image_show_uvedit(struct SpaceImage *sima, struct Object *obedit);
int ED_space_image_show_uvshadow(struct SpaceImage *sima, struct Object *obedit);
-int ED_space_image_check_show_maskedit(struct SpaceImage *sima);
+int ED_space_image_check_show_maskedit(struct Scene *scene, struct SpaceImage *sima);
int ED_space_image_maskedit_poll(struct bContext *C);
int ED_space_image_maskedit_mask_poll(struct bContext *C);
diff --git a/source/blender/editors/screen/screen_ops.c b/source/blender/editors/screen/screen_ops.c
index a431ea7ea03..36353c43cbd 100644
--- a/source/blender/editors/screen/screen_ops.c
+++ b/source/blender/editors/screen/screen_ops.c
@@ -476,7 +476,8 @@ int ED_operator_mask(bContext *C)
case SPACE_IMAGE:
{
SpaceImage *sima = sa->spacedata.first;
- return ED_space_image_check_show_maskedit(sima);
+ Scene *scene = CTX_data_scene(C);
+ return ED_space_image_check_show_maskedit(scene, sima);
}
}
}
diff --git a/source/blender/editors/space_image/image_edit.c b/source/blender/editors/space_image/image_edit.c
index 81423560fb5..899685d0dc2 100644
--- a/source/blender/editors/space_image/image_edit.c
+++ b/source/blender/editors/space_image/image_edit.c
@@ -352,8 +352,14 @@ int ED_space_image_show_uvshadow(SpaceImage *sima, Object *obedit)
}
/* matches clip function */
-int ED_space_image_check_show_maskedit(SpaceImage *sima)
+int ED_space_image_check_show_maskedit(Scene *scene, SpaceImage *sima)
{
+ /* check editmode - this is reserved for UV editing */
+ Object *ob = OBACT;
+ if (ob && ob->mode & OB_MODE_EDIT) {
+ return FALSE;
+ }
+
return (sima->mode == SI_MODE_MASK);
}
@@ -362,7 +368,8 @@ int ED_space_image_maskedit_poll(bContext *C)
SpaceImage *sima = CTX_wm_space_image(C);
if (sima && sima->image) {
- return ED_space_image_check_show_maskedit(sima);
+ Scene *scene = CTX_data_scene(C);
+ return ED_space_image_check_show_maskedit(scene, sima);
}
return FALSE;
diff --git a/source/blender/makesrna/intern/rna_object_api.c b/source/blender/makesrna/intern/rna_object_api.c
index 0fefc4c89fb..5cabc328778 100644
--- a/source/blender/makesrna/intern/rna_object_api.c
+++ b/source/blender/makesrna/intern/rna_object_api.c
@@ -126,7 +126,7 @@ Mesh *rna_Object_to_mesh(Object *ob, ReportList *reports, Scene *sce, int apply_
}
/* convert object type to mesh */
- BKE_mesh_from_nurbs_displist(tmpobj, &dispbase, uv_from_orco ? &orco_index : NULL);
+ BKE_mesh_from_nurbs_displist(tmpobj, &dispbase, uv_from_orco ? (int **)&orco_index : NULL);
tmpmesh = tmpobj->data;