[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    extragear/graphics/digikam/digikam
From:       Marcel Wiesweg <marcel.wiesweg () gmx ! de>
Date:       2010-12-07 9:00:52
Message-ID: 20101207090053.05B68AC8A5 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1204416 by mwiesweg:

Clean album root id -> album pointer hash in removePAlbum, to ensure it does not
contain an invalid pointer.
CCBUG:  256897

 M  +6 -3      albummanager.cpp  


--- trunk/extragear/graphics/digikam/digikam/albummanager.cpp #1204415:1204416
@@ -1305,9 +1305,7 @@
 
     foreach (PAlbum* album, topMostOldAlbums)
     {
-        // this might look like there is memory leak here, since removePAlbum
-        // doesn't delete albums and looks like child Albums don't get deleted.
-        // But when the parent album gets deleted, the children are also deleted.
+        // recursively removes all children and the album
         removePAlbum(album);
     }
 
@@ -2772,6 +2770,11 @@
         emit signalAlbumCurrentChanged(0);
     }
 
+    if (album->isAlbumRoot())
+    {
+        d->albumRootAlbumHash.remove(album->albumRootId());
+    }
+
     emit signalAlbumDeleted(album);
     delete album;
     emit signalAlbumHasBeenDeleted(album);
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic