From 1f68931b6e111b7dddb7e9ae16ad2dd905dea3da Mon Sep 17 00:00:00 2001 From: capehill Date: Sat, 7 Dec 2024 13:15:19 +0200 Subject: [PATCH] Fix some memory leaks --- src/milkyplay/Limiter.h | 7 ++++++- src/ppui/DialogFileSelector.cpp | 1 + src/ppui/Screen.cpp | 1 + src/tracker/PatternEditorControl.cpp | 6 +++++- src/tracker/Tracker.cpp | 4 +++- 5 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/milkyplay/Limiter.h b/src/milkyplay/Limiter.h index 7bb0056b..e0a1f838 100644 --- a/src/milkyplay/Limiter.h +++ b/src/milkyplay/Limiter.h @@ -72,6 +72,11 @@ struct Limiter : public Mixable { } + ~Limiter() + { + cleanup(); + } + void init(mp_uint32 s_rate, mp_uint32 buffersize){ cleanup(); fs = s_rate; @@ -192,4 +197,4 @@ struct Limiter : public Mixable //*(plugin_data->attenuation) = -CO_DB(atten); //*(plugin_data->latency) = delay; } -}; \ No newline at end of file +}; diff --git a/src/ppui/DialogFileSelector.cpp b/src/ppui/DialogFileSelector.cpp index 0acffa93..37e81fb3 100644 --- a/src/ppui/DialogFileSelector.cpp +++ b/src/ppui/DialogFileSelector.cpp @@ -184,6 +184,7 @@ DialogFileSelector::~DialogFileSelector() delete initialPath; delete fileFullPath; delete overwritePromptMessageBox; + delete overwritePrompResponder; } pp_int32 DialogFileSelector::handleEvent(PPObject* sender, PPEvent* event) diff --git a/src/ppui/Screen.cpp b/src/ppui/Screen.cpp index 16314b57..aec2f3e4 100644 --- a/src/ppui/Screen.cpp +++ b/src/ppui/Screen.cpp @@ -69,6 +69,7 @@ PPScreen::PPScreen(PPDisplayDeviceBase* displayDevice, EventListenerInterface* e PPScreen::~PPScreen() { + delete rootContainer; delete contextMenuControls; delete timerEventControls; } diff --git a/src/tracker/PatternEditorControl.cpp b/src/tracker/PatternEditorControl.cpp index 16e45002..1fea285e 100644 --- a/src/tracker/PatternEditorControl.cpp +++ b/src/tracker/PatternEditorControl.cpp @@ -198,7 +198,11 @@ PatternEditorControl::~PatternEditorControl() delete hBottomScrollbar; delete editMenuControl; - + delete channelMenuControl; + delete moduleMenuControl; + delete keyboardMenuControl; + delete patternMenuControl; + delete eventKeyDownBindingsMilkyTracker; delete scanCodeBindingsMilkyTracker; delete eventKeyDownBindingsFastTracker; diff --git a/src/tracker/Tracker.cpp b/src/tracker/Tracker.cpp index 739a6776..e09c2c43 100644 --- a/src/tracker/Tracker.cpp +++ b/src/tracker/Tracker.cpp @@ -219,7 +219,9 @@ Tracker::~Tracker() delete playerLogic; delete playerMaster; - + + delete tabManager; + delete messageBoxContainerGeneric; delete[] muteChannels;