bugfix [#24439] Smear 2D paint fails

small unrelated change: when setting the image type of an image, loop over all its Imbufs and set them.
This commit is contained in:
Campbell Barton 2010-10-28 19:40:05 +00:00
parent 651efb3763
commit b5b48bd53a
2 changed files with 13 additions and 3 deletions

@ -4178,7 +4178,7 @@ static void imapaint_lift_smear(ImBuf *ibuf, ImBuf *ibufb, int *pos)
int a, tot;
imapaint_set_region(region, 0, 0, pos[0], pos[1], ibufb->x, ibufb->y);
tot= imapaint_torus_split_region(region, ibuf, ibufb);
tot= imapaint_torus_split_region(region, ibufb, ibuf);
for(a=0; a<tot; a++)
IMB_rectblend(ibufb, ibuf, region[a].destx, region[a].desty,

@ -171,9 +171,19 @@ static void rna_Image_file_format_set(PointerRNA *ptr, int value)
{
Image *image= (Image*)ptr->data;
if(BKE_imtype_is_movie(value) == 0) { /* should be able to throw an error here */
ImBuf *ibuf= BKE_image_get_ibuf(image, NULL);
ImBuf *ibuf;
int ftype= BKE_imtype_to_ftype(value);
/*
ibuf= BKE_image_get_ibuf(image, NULL);
if(ibuf)
ibuf->ftype= BKE_imtype_to_ftype(value);
ibuf->ftype= ftype;
*/
/* to be safe change all buffer file types */
for(ibuf= image->ibufs.first; ibuf; ibuf->next) {
ibuf->ftype= ftype;
}
}
}