--- yadex-1.7.0/src/wadlist.cc~ 2006-03-17 11:53:10.000000000 +0100 +++ yadex-1.7.0/src/wadlist.cc 2006-03-17 11:57:06.000000000 +0100 @@ -52,6 +52,7 @@ Wad_list_priv::Wad_list_priv () { + iter = list.begin (); rewound = true; } @@ -80,6 +81,7 @@ */ void Wad_list::rewind () const { + priv->iter = priv->list.begin (); priv->rewound = true; } @@ -98,10 +100,7 @@ bool Wad_list::get (Wad_file *& wf) { if (priv->rewound) - { - priv->iter = priv->list.begin (); priv->rewound = false; - } else ++priv->iter; @@ -119,10 +118,7 @@ bool Wad_list::get (const Wad_file *& wf) const { if (priv->rewound) - { - priv->iter = priv->list.begin (); priv->rewound = false; - } else ++priv->iter; @@ -157,26 +153,12 @@ */ void Wad_list::del () { - list_t::iterator i; - - if (priv->rewound) - { - i = priv->list.begin (); - } - else - { - i = priv->iter; - } - if (i == priv->list.end ()) + if (priv->iter == priv->list.end ()) { nf_bug ("Wad_list::del: attempt to delete last item"); return; } - priv->iter = priv->list.erase (i); + priv->iter = priv->list.erase (priv->iter); if (priv->iter == priv->list.begin ()) - { - priv->iter = 0; // Catch bugs priv->rewound = true; - } } -