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 /source/blender
parent8f6197bd08955f210653973f313bd4de5026bd91 (diff)
resolve glitch in the image space where mask editing and UVs would conflict.
now UV editing overrides mask.
Diffstat (limited to 'source/blender')
-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
6 files changed, 15 insertions, 12 deletions
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;