Commit 479bff49 authored by Bodmer's avatar Bodmer

Related to #2376

Make sure palette space deleted.
parent 80912d07
...@@ -223,6 +223,8 @@ void* TFT_eSprite::callocSprite(int16_t w, int16_t h, uint8_t frames) ...@@ -223,6 +223,8 @@ void* TFT_eSprite::callocSprite(int16_t w, int16_t h, uint8_t frames)
***************************************************************************************/ ***************************************************************************************/
void TFT_eSprite::createPalette(uint16_t colorMap[], uint8_t colors) void TFT_eSprite::createPalette(uint16_t colorMap[], uint8_t colors)
{ {
if (!_created) return;
if (colorMap == nullptr) if (colorMap == nullptr)
{ {
// Create a color map using the default FLASH map // Create a color map using the default FLASH map
...@@ -249,6 +251,8 @@ void TFT_eSprite::createPalette(uint16_t colorMap[], uint8_t colors) ...@@ -249,6 +251,8 @@ void TFT_eSprite::createPalette(uint16_t colorMap[], uint8_t colors)
***************************************************************************************/ ***************************************************************************************/
void TFT_eSprite::createPalette(const uint16_t colorMap[], uint8_t colors) void TFT_eSprite::createPalette(const uint16_t colorMap[], uint8_t colors)
{ {
if (!_created) return;
if (colorMap == nullptr) if (colorMap == nullptr)
{ {
// Create a color map using the default FLASH map // Create a color map using the default FLASH map
...@@ -305,13 +309,9 @@ void* TFT_eSprite::setColorDepth(int8_t b) ...@@ -305,13 +309,9 @@ void* TFT_eSprite::setColorDepth(int8_t b)
else if ( b > 1 ) _bpp = 4; else if ( b > 1 ) _bpp = 4;
else _bpp = 1; else _bpp = 1;
// Can't change an existing sprite's colour depth so delete it // Can't change an existing sprite's colour depth so delete and create a new one
if (_created) free(_img8_1); if (_created) {
deleteSprite();
// If it existed, re-create the sprite with the new colour depth
if (_created)
{
_created = false;
return createSprite(_dwidth, _dheight); return createSprite(_dwidth, _dheight);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment