Fix #34213: crash loading openexr multilayer with use alpha disabled.

This commit is contained in:
Brecht Van Lommel
2013-02-12 14:58:58 +00:00
parent d095bcc8aa
commit 5354998a21

View File

@@ -594,11 +594,17 @@ void IMB_rectfill_area(struct ImBuf *ibuf, const float col[4], int x1, int y1, i
void IMB_rectfill_alpha(ImBuf *ibuf, const float value)
{
int i;
if (ibuf->rect_float) {
float *fbuf = ibuf->rect_float + 3;
float *fbuf;
if (ibuf->channels != 4) return;
fbuf = ibuf->rect_float + 3;
for (i = ibuf->x * ibuf->y; i > 0; i--, fbuf += 4) { *fbuf = value; }
}
else {
if (ibuf->rect) {
const unsigned char cvalue = value * 255;
unsigned char *cbuf = ((unsigned char *)ibuf->rect) + 3;
for (i = ibuf->x * ibuf->y; i > 0; i--, cbuf += 4) { *cbuf = cvalue; }