From 911fe71c0ecced9fb047cd956cb1d7c2584390f4 Mon Sep 17 00:00:00 2001
From: David Capello <davidcapello@gmail.com>
Date: Sat, 2 Oct 2010 22:58:50 -0300
Subject: [PATCH] Fix bug introduced in commit
 e885fcd3a187b090303464215be97b443491d564: leave one palette after
 Sprite::resetPalettes().

---
 src/raster/sprite.cpp | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/raster/sprite.cpp b/src/raster/sprite.cpp
index 8eefc55cf..ec7177d0a 100644
--- a/src/raster/sprite.cpp
+++ b/src/raster/sprite.cpp
@@ -902,10 +902,14 @@ void SpriteImpl::resetPalettes()
 {
   PalettesList::iterator end = m_palettes.end();
   PalettesList::iterator it = m_palettes.begin();
-  for (; it != end; ++it)
-    delete *it;			// palette
 
-  m_palettes.clear();
+  if (it != end) {
+    ++it;			// Leave the first palette only.
+    while (it != end) {
+      delete *it;		// palette
+      it = m_palettes.erase(it);
+    }
+  }
 }
 
 void SpriteImpl::deletePalette(Palette* pal)