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)