diff --git a/pandaapp/src/indexify/indexify.cxx b/pandaapp/src/indexify/indexify.cxx
index bf862bedbf..18a36b41be 100644
--- a/pandaapp/src/indexify/indexify.cxx
+++ b/pandaapp/src/indexify/indexify.cxx
@@ -269,7 +269,6 @@ handle_args(ProgramBase::Args &args) {
return false;
}
- RollDirectory *prev_roll_dir = (RollDirectory *)NULL;
Args::const_iterator ai;
for (ai = args.begin(); ai != args.end(); ++ai) {
Filename filename = Filename::from_os_specific(*ai);
@@ -282,13 +281,7 @@ handle_args(ProgramBase::Args &args) {
} else {
RollDirectory *roll_dir = new RollDirectory(filename);
- if (prev_roll_dir != (RollDirectory *)NULL) {
- roll_dir->_prev = prev_roll_dir;
- prev_roll_dir->_next = roll_dir;
- }
-
_roll_dirs.push_back(roll_dir);
- prev_roll_dir = roll_dir;
}
} else if (filename.exists()) {
@@ -351,6 +344,19 @@ post_command_line() {
sort(_roll_dirs.begin(), _roll_dirs.end(), SortRollDirs());
}
+ // Update the next/prev pointers in each roll directory so we can
+ // browse from one to the other.
+ RollDirectory *prev_roll_dir = (RollDirectory *)NULL;
+ RollDirs::iterator di;
+ for (di = _roll_dirs.begin(); di != _roll_dirs.end(); ++di) {
+ RollDirectory *roll_dir = (*di);
+ if (prev_roll_dir != (RollDirectory *)NULL) {
+ roll_dir->_prev = prev_roll_dir;
+ prev_roll_dir->_next = roll_dir;
+ }
+ prev_roll_dir = roll_dir;
+ }
+
if (_front_title.empty()) {
// Supply a default title.
if (_roll_dirs.size() == 1) {
@@ -590,9 +596,9 @@ run() {
if (!roll_dir->is_empty()) {
index_html
<< "get_basename() << "\">\n"
- << "get_basename() << ".htm\">"
+ << "get_basename() << ".htm\">"
<< roll_dir->get_name() << " " << escape_html(roll_dir->get_desc())
- << "\n";
+ << "\n";
}
}