From 28028f487d6e00c1ae8d6dd3b5335352de8a038a Mon Sep 17 00:00:00 2001 From: David Rose Date: Wed, 31 Oct 2001 21:02:11 +0000 Subject: [PATCH] remove old egg files from database if they don't exist --- pandatool/src/egg-palettize/palettizer.cxx | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/pandatool/src/egg-palettize/palettizer.cxx b/pandatool/src/egg-palettize/palettizer.cxx index b64591741c..133e62ae18 100644 --- a/pandatool/src/egg-palettize/palettizer.cxx +++ b/pandatool/src/egg-palettize/palettizer.cxx @@ -614,6 +614,8 @@ generate_images(bool redo_all) { bool Palettizer:: read_stale_eggs(bool redo_all) { bool okflag = true; + + pvector invalid_eggs; EggFiles::iterator ei; for (ei = _egg_files.begin(); ei != _egg_files.end(); ++ei) { @@ -621,7 +623,7 @@ read_stale_eggs(bool redo_all) { if (!egg_file->has_data() && (egg_file->is_stale() || redo_all)) { if (!egg_file->read_egg()) { - okflag = false; + invalid_eggs.push_back(ei); } else { egg_file->scan_textures(); @@ -630,6 +632,16 @@ read_stale_eggs(bool redo_all) { } } + // Now eliminate all the invalid egg files. + pvector::iterator ii; + for (ii = invalid_eggs.begin(); ii != invalid_eggs.end(); ++ii) { + EggFiles::iterator ei = (*ii); + EggFile *egg_file = (*ei).second; + cerr << "Removing " << (*ei).first << "\n"; + egg_file->remove_egg(); + _egg_files.erase(ei); + } + return okflag; }