fix bug with accessing invalid texture

This commit is contained in:
David Rose 2001-05-31 01:20:37 +00:00
parent 704526d051
commit 1eee97f459
1 changed files with 12 additions and 4 deletions

View File

@ -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);
}
}
////////////////////////////////////////////////////////////////////