mirror of
https://invent.kde.org/frameworks/kimageformats.git
synced 2025-05-28 00:30:23 -04:00
xcf: fix oss-fuzz issue
May fix possible crash on QPainter.
This commit is contained in:
parent
63a9de758f
commit
99bb24803a
@ -2784,7 +2784,10 @@ void XCFImageFormat::copyLayerToImage(XCFImage &xcf_image)
|
|||||||
QPainter painter(&image);
|
QPainter painter(&image);
|
||||||
painter.setOpacity(layer.opacity / 255.0);
|
painter.setOpacity(layer.opacity / 255.0);
|
||||||
painter.setCompositionMode(QPainter::CompositionMode_Source);
|
painter.setCompositionMode(QPainter::CompositionMode_Source);
|
||||||
painter.drawImage(x + layer.x_offset, y + layer.y_offset, layer.image_tiles[j][i]);
|
if (x + layer.x_offset < MAX_IMAGE_WIDTH &&
|
||||||
|
y + layer.y_offset < MAX_IMAGE_HEIGHT) {
|
||||||
|
painter.drawImage(x + layer.x_offset, y + layer.y_offset, layer.image_tiles[j][i]);
|
||||||
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3184,7 +3187,10 @@ void XCFImageFormat::mergeLayerIntoImage(XCFImage &xcf_image)
|
|||||||
uint x = i * TILE_WIDTH;
|
uint x = i * TILE_WIDTH;
|
||||||
|
|
||||||
QImage &tile = layer.image_tiles[j][i];
|
QImage &tile = layer.image_tiles[j][i];
|
||||||
painter.drawImage(x + layer.x_offset, y + layer.y_offset, tile);
|
if (x + layer.x_offset < MAX_IMAGE_WIDTH &&
|
||||||
|
y + layer.y_offset < MAX_IMAGE_HEIGHT) {
|
||||||
|
painter.drawImage(x + layer.x_offset, y + layer.y_offset, tile);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3233,7 +3239,10 @@ void XCFImageFormat::mergeLayerIntoImage(XCFImage &xcf_image)
|
|||||||
QPainter painter(&image);
|
QPainter painter(&image);
|
||||||
painter.setOpacity(layer.opacity / 255.0);
|
painter.setOpacity(layer.opacity / 255.0);
|
||||||
painter.setCompositionMode(QPainter::CompositionMode_SourceOver);
|
painter.setCompositionMode(QPainter::CompositionMode_SourceOver);
|
||||||
painter.drawImage(x + layer.x_offset, y + layer.y_offset, layer.image_tiles[j][i]);
|
if (x + layer.x_offset < MAX_IMAGE_WIDTH &&
|
||||||
|
y + layer.y_offset < MAX_IMAGE_HEIGHT) {
|
||||||
|
painter.drawImage(x + layer.x_offset, y + layer.y_offset, layer.image_tiles[j][i]);
|
||||||
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user