fix bug with accessing invalid texture
This commit is contained in:
parent
704526d051
commit
1eee97f459
|
|
@ -70,10 +70,18 @@ DestTextureImage(TexturePlacement *placement) {
|
|||
void DestTextureImage::
|
||||
copy(TextureImage *texture) {
|
||||
const PNMImage &source_image = texture->read_source_image();
|
||||
PNMImage dest_image(_x_size, _y_size, texture->get_num_channels(),
|
||||
source_image.get_maxval());
|
||||
dest_image.quick_filter_from(source_image);
|
||||
write(dest_image);
|
||||
if (source_image.is_valid()) {
|
||||
PNMImage dest_image(_x_size, _y_size, texture->get_num_channels(),
|
||||
source_image.get_maxval());
|
||||
dest_image.quick_filter_from(source_image);
|
||||
write(dest_image);
|
||||
|
||||
} else {
|
||||
// Couldn't read the texture, so fill it with red.
|
||||
PNMImage dest_image(_x_size, _y_size, texture->get_num_channels());
|
||||
dest_image.fill(1.0, 0.0, 0.0);
|
||||
write(dest_image);
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
|
|
|||
Loading…
Reference in New Issue