Blob Blame History Raw
--- 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;
-  }
 }
-