diff options
author | Tim E. Real <termtech@rogers.com> | 2011-10-03 01:56:34 +0000 |
---|---|---|
committer | Tim E. Real <termtech@rogers.com> | 2011-10-03 01:56:34 +0000 |
commit | f3313cc78e637ec9bc11efce5eb943434da93416 (patch) | |
tree | 29ca2c60eb262e25831639d09c33b80ff0df511c /muse2/muse/midiedit | |
parent | 9200bb81f55b0d33e0a61af0112f1ca294375554 (diff) |
Fixed HUGE massive memory leaks in all things using CItemList,
and SndFile, dssi, fluidsynth and other huge leaks. Large song with
several dssi, vst, fluidsynths leaked 100's of MB, now only ~2MB.
Diffstat (limited to 'muse2/muse/midiedit')
-rw-r--r-- | muse2/muse/midiedit/dcanvas.cpp | 5 | ||||
-rw-r--r-- | muse2/muse/midiedit/dcanvas.h | 1 | ||||
-rw-r--r-- | muse2/muse/midiedit/ecanvas.cpp | 3 |
3 files changed, 8 insertions, 1 deletions
diff --git a/muse2/muse/midiedit/dcanvas.cpp b/muse2/muse/midiedit/dcanvas.cpp index 3f80133a..138511d6 100644 --- a/muse2/muse/midiedit/dcanvas.cpp +++ b/muse2/muse/midiedit/dcanvas.cpp @@ -111,6 +111,11 @@ DrumCanvas::DrumCanvas(MidiEditor* pr, QWidget* parent, int sx, connect(song, SIGNAL(midiNote(int, int)), SLOT(midiNote(int,int))); } +DrumCanvas::~DrumCanvas() +{ + //items.clearDelete(); +} + //--------------------------------------------------------- // moveCanvasItems //--------------------------------------------------------- diff --git a/muse2/muse/midiedit/dcanvas.h b/muse2/muse/midiedit/dcanvas.h index c25f71ca..c5c51310 100644 --- a/muse2/muse/midiedit/dcanvas.h +++ b/muse2/muse/midiedit/dcanvas.h @@ -114,6 +114,7 @@ class DrumCanvas : public EventCanvas { }; DrumCanvas(MidiEditor*, QWidget*, int, int, const char* name = 0); + virtual ~DrumCanvas(); void cmd(int); virtual void modifySelected(MusEWidget::NoteInfo::ValType type, int delta); virtual void keyPress(QKeyEvent* event); diff --git a/muse2/muse/midiedit/ecanvas.cpp b/muse2/muse/midiedit/ecanvas.cpp index cb96118f..b30574f1 100644 --- a/muse2/muse/midiedit/ecanvas.cpp +++ b/muse2/muse/midiedit/ecanvas.cpp @@ -147,7 +147,8 @@ void EventCanvas::songChanged(int flags) return; if (flags & ~SC_SELECTION) { - items.clear(); + //items.clear(); + items.clearDelete(); start_tick = MAXINT; end_tick = 0; curPart = 0; |