From 0cf7bf73576c99897a7838beae7b093d118bb0bb Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 22 Sep 2008 20:26:28 +0000 Subject: [PATCH] Fix for part of bug #17506: uv editing with multires is only allowed at level 1, missed a case. --- source/blender/src/editsima.c | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/source/blender/src/editsima.c b/source/blender/src/editsima.c index 69070d61bf0..1762e49a2a2 100644 --- a/source/blender/src/editsima.c +++ b/source/blender/src/editsima.c @@ -2654,15 +2654,9 @@ void image_changed(SpaceImage *sima, Image *image) MTFace *tface; EditMesh *em = G.editMesh; EditFace *efa; - ImBuf *ibuf = NULL; + /*ImBuf *ibuf = NULL;*/ short change = 0; - if(image==NULL) { - sima->flag &= ~SI_DRAWTOOL; - } else { - ibuf = BKE_image_get_ibuf(image, NULL); - } - if(sima->mode!=SI_TEXTURE) return; @@ -2675,6 +2669,9 @@ void image_changed(SpaceImage *sima, Image *image) (G.editMesh->faces.first) ) { + if(!is_uv_tface_editing_allowed()) + return; + /* Add a UV layer if there is none, editmode only */ if ( !CustomData_has_layer(&G.editMesh->fdata, CD_MTFACE) ) { EM_add_data_layer(&em->fdata, CD_MTFACE); @@ -2685,6 +2682,11 @@ void image_changed(SpaceImage *sima, Image *image) allqueue(REDRAWVIEW3D, 0); allqueue(REDRAWBUTSEDIT, 0); } + +#if 0 + if(image) + ibuf = BKE_image_get_ibuf(image, NULL); +#endif for (efa= em->faces.first; efa; efa= efa->next) { tface = CustomData_em_get(&em->fdata, efa->data, CD_MTFACE); @@ -2714,9 +2716,13 @@ void image_changed(SpaceImage *sima, Image *image) } } } + /* change the space image after because simaFaceDraw_Check uses the space image * to check if the face is displayed in UV-localview */ sima->image = image; + + if(sima->image==NULL) + sima->flag &= ~SI_DRAWTOOL; if (change) object_uvs_changed(OBACT);