From 735b65072e8d458b63c8b26f5146c21debbf5688 Mon Sep 17 00:00:00 2001 From: David Capello Date: Tue, 30 Mar 2010 21:47:31 -0300 Subject: [PATCH] After converting sprite image type, 'extras' are regenerated. --- src/commands/cmd_change_image_type.cpp | 6 ++++++ src/raster/undo.cpp | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/src/commands/cmd_change_image_type.cpp b/src/commands/cmd_change_image_type.cpp index 06cb6678c..185f38c02 100644 --- a/src/commands/cmd_change_image_type.cpp +++ b/src/commands/cmd_change_image_type.cpp @@ -105,6 +105,12 @@ void ChangeImageTypeCommand::execute(Context* context) CurrentSpriteRgbMap rgbmap; Undoable undoable(sprite, "Color Mode Change"); undoable.set_imgtype(m_imgtype, m_dithering); + + // Regenerate extras + sprite->prepareExtra(); + image_clear(sprite->getExtras(), + sprite->getExtras()->mask_color); + undoable.commit(); } app_refresh_screen(sprite); diff --git a/src/raster/undo.cpp b/src/raster/undo.cpp index 8d3ff920d..b0e63d356 100644 --- a/src/raster/undo.cpp +++ b/src/raster/undo.cpp @@ -1546,6 +1546,12 @@ static void chunk_set_imgtype_invert(UndoStream* stream, UndoChunkSetImgType *ch if (sprite) { chunk_set_imgtype_new(stream, sprite); sprite->setImgType(chunk->imgtype); + + // Regenerate extras + sprite->prepareExtra(); + image_clear(sprite->getExtras(), + sprite->getExtras()->mask_color); + } }