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;