diff --git a/pandaapp/src/indexify/indexImage.cxx b/pandaapp/src/indexify/indexImage.cxx index 91b560631f..a13e7bbbfe 100644 --- a/pandaapp/src/indexify/indexImage.cxx +++ b/pandaapp/src/indexify/indexImage.cxx @@ -106,7 +106,7 @@ generate_images(const Filename &archive_dir, PNMTextMaker *text_maker) { // the index image. bool generate_index_image = true; if (!dummy_mode && !force_regenerate && output_filename.exists()) { - // Maybe we don't need to renegerated the index. + // Maybe we don't need to renegerate the index. generate_index_image = false; const Filename &newest_contributing_filename = @@ -130,6 +130,25 @@ generate_images(const Filename &archive_dir, PNMTextMaker *text_maker) { } } + // If we don't need to regenerate the index, we do need to at least + // scan the header. + if (!generate_index_image) { + if (index_image.read_header(output_filename)) { + if (index_image.get_x_size() != actual_index_width || + index_image.get_y_size() != actual_index_height) { + // If the index exists but is the wrong size, we'd better + // regenerate it. + generate_index_image = true; + } + + } else { + // If we couldn't even read the header, we'd better regenerate it + // after all. + nout << "Couldn't read " << output_filename << "; regenerating.\n"; + generate_index_image = true; + } + } + if (generate_index_image) { index_image.clear(actual_index_width, actual_index_height); index_image.fill(1.0, 1.0, 1.0);