diff options
author | Campbell Barton <ideasman42@gmail.com> | 2010-10-28 23:40:05 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2010-10-28 23:40:05 +0400 |
commit | b5b48bd53a265c57884f2b768141d9a886113ec5 (patch) | |
tree | 6153a1149007874a3964bccb03cc1c2a98a7c3f9 /source | |
parent | 651efb37630ed7a017870e0ab61d268af9716478 (diff) |
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.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/sculpt_paint/paint_image.c | 2 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_image.c | 14 |
2 files changed, 13 insertions, 3 deletions
diff --git a/source/blender/editors/sculpt_paint/paint_image.c b/source/blender/editors/sculpt_paint/paint_image.c index a5b5baad4c5..939955353c8 100644 --- a/source/blender/editors/sculpt_paint/paint_image.c +++ b/source/blender/editors/sculpt_paint/paint_image.c @@ -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, diff --git a/source/blender/makesrna/intern/rna_image.c b/source/blender/makesrna/intern/rna_image.c index 92c860a8074..4ac7624e731 100644 --- a/source/blender/makesrna/intern/rna_image.c +++ b/source/blender/makesrna/intern/rna_image.c @@ -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; + } } } |