From 1fc67e9e995f8bed2476c73aa7ad766efd25f5ca Mon Sep 17 00:00:00 2001 From: Mailson Menezes Date: Thu, 8 Nov 2012 08:50:08 -0300 Subject: [PATCH] Fix memory leaking on tiles merge --- core/tilesmanager.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/core/tilesmanager.cpp b/core/tilesmanager.cpp index 9c8ebd76e..2f3569887 100644 --- a/core/tilesmanager.cpp +++ b/core/tilesmanager.cpp @@ -107,7 +107,10 @@ TilesManager::~TilesManager() void TilesManager::Private::deleteTiles( const Tile &tile ) { if ( tile.pixmap ) + { + totalPixels -= tile.pixmap->width()*tile.pixmap->height(); delete tile.pixmap; + } if ( tile.nTiles > 0 ) { @@ -290,11 +293,7 @@ void TilesManager::Private::setPixmap( const QPixmap *pixmap, const NormalizedRe else tile.rect |= tile.tiles[ i ].rect; - if ( tile.tiles[ i ].pixmap ) - { - totalPixels -= tile.tiles[ i ].pixmap->width()*tile.tiles[ i ].pixmap->height(); - delete tile.tiles[ i ].pixmap; - } + deleteTiles( tile.tiles[ i ] ); tile.tiles[ i ].pixmap = 0; }