Cleanup: remove redundant image assignment when ensuring UV's

This commit is contained in:
Campbell Barton
2020-01-02 13:17:06 +11:00
parent e9ac784237
commit b5dd73a48b

View File

@@ -95,56 +95,28 @@ static void modifier_unwrap_state(Object *obedit, const Scene *scene, bool *r_us
*r_use_subsurf = subsurf;
}
static bool ED_uvedit_ensure_uvs(bContext *C, const Scene *UNUSED(scene), Object *obedit)
static bool ED_uvedit_ensure_uvs(Object *obedit)
{
BMEditMesh *em = BKE_editmesh_from_object(obedit);
BMFace *efa;
BMIter iter;
Image *ima;
bScreen *sc;
ScrArea *sa;
SpaceLink *slink;
SpaceImage *sima;
int cd_loop_uv_offset;
if (ED_uvedit_test(obedit)) {
return 1;
}
BMEditMesh *em = BKE_editmesh_from_object(obedit);
BMFace *efa;
BMIter iter;
int cd_loop_uv_offset;
if (em && em->bm->totface && !CustomData_has_layer(&em->bm->ldata, CD_MLOOPUV)) {
ED_mesh_uv_texture_add(obedit->data, NULL, true, true);
}
/* Happens when there are no faces. */
if (!ED_uvedit_test(obedit)) {
return 0;
}
cd_loop_uv_offset = CustomData_get_offset(&em->bm->ldata, CD_MLOOPUV);
ima = CTX_data_edit_image(C);
if (!ima) {
/* no image in context in the 3d view, we find first image window .. */
sc = CTX_wm_screen(C);
for (sa = sc->areabase.first; sa; sa = sa->next) {
slink = sa->spacedata.first;
if (slink->spacetype == SPACE_IMAGE) {
sima = (SpaceImage *)slink;
ima = sima->image;
if (ima) {
if (ima->type == IMA_TYPE_R_RESULT || ima->type == IMA_TYPE_COMPOSITE) {
ima = NULL;
}
else {
break;
}
}
}
}
}
/* select new UV's (ignore UV_SYNC_SELECTION in this case) */
BM_ITER_MESH (efa, &iter, em->bm, BM_FACES_OF_MESH) {
BMIter liter;
@@ -1669,7 +1641,7 @@ static int unwrap_exec(bContext *C, wmOperator *op)
float obsize[3];
bool use_subsurf_final;
if (!ED_uvedit_ensure_uvs(C, scene, obedit)) {
if (!ED_uvedit_ensure_uvs(obedit)) {
continue;
}
@@ -1869,7 +1841,7 @@ static int uv_from_view_exec(bContext *C, wmOperator *op)
bool changed = false;
/* add uvs if they don't exist yet */
if (!ED_uvedit_ensure_uvs(C, scene, obedit)) {
if (!ED_uvedit_ensure_uvs(obedit)) {
continue;
}
@@ -1995,7 +1967,6 @@ void UV_OT_project_from_view(wmOperatorType *ot)
static int reset_exec(bContext *C, wmOperator *UNUSED(op))
{
const Scene *scene = CTX_data_scene(C);
ViewLayer *view_layer = CTX_data_view_layer(C);
View3D *v3d = CTX_wm_view3d(C);
@@ -2012,7 +1983,7 @@ static int reset_exec(bContext *C, wmOperator *UNUSED(op))
}
/* add uvs if they don't exist yet */
if (!ED_uvedit_ensure_uvs(C, scene, obedit)) {
if (!ED_uvedit_ensure_uvs(obedit)) {
continue;
}
@@ -2115,7 +2086,7 @@ static int sphere_project_exec(bContext *C, wmOperator *op)
}
/* add uvs if they don't exist yet */
if (!ED_uvedit_ensure_uvs(C, scene, obedit)) {
if (!ED_uvedit_ensure_uvs(obedit)) {
continue;
}
@@ -2209,7 +2180,7 @@ static int cylinder_project_exec(bContext *C, wmOperator *op)
}
/* add uvs if they don't exist yet */
if (!ED_uvedit_ensure_uvs(C, scene, obedit)) {
if (!ED_uvedit_ensure_uvs(obedit)) {
continue;
}
@@ -2325,7 +2296,7 @@ static int cube_project_exec(bContext *C, wmOperator *op)
}
/* add uvs if they don't exist yet */
if (!ED_uvedit_ensure_uvs(C, scene, obedit)) {
if (!ED_uvedit_ensure_uvs(obedit)) {
continue;
}