From fd61ca46f2e51ce9c94b0c491d40b163538305e4 Mon Sep 17 00:00:00 2001 From: Murai Takashi Date: Mon, 19 Apr 2021 20:10:54 +0900 Subject: [PATCH] icons screen saver: fix memory leak Fix fBackBitmap and items of fVectorIcons were not released. Change-Id: I8bf974a9f11852c4b1092490e699b46bd79997eb Reviewed-on: https://review.haiku-os.org/c/haiku/+/3879 Reviewed-by: Adrien Destugues --- src/add-ons/screen_savers/icons/IconsSaver.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/add-ons/screen_savers/icons/IconsSaver.cpp b/src/add-ons/screen_savers/icons/IconsSaver.cpp index 3a026e5e6d..43b5fdd2c6 100644 --- a/src/add-ons/screen_savers/icons/IconsSaver.cpp +++ b/src/add-ons/screen_savers/icons/IconsSaver.cpp @@ -65,6 +65,11 @@ IconsSaver::IconsSaver(BMessage* archive, image_id image) IconsSaver::~IconsSaver() { + vector_icon* icon; + while ((icon = fVectorIcons.RemoveItemAt((int32)0)) != NULL) { + delete[] icon->data; + free(icon); + } } @@ -119,6 +124,8 @@ IconsSaver::StopSaver() { delete[] fIcons; fIcons = NULL; + delete fBackBitmap; + fBackBitmap = NULL; }