From b53ef556e96c201a82a9f49f0fd786f6da86a090 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Tue, 9 Sep 2014 23:53:27 +0200 Subject: [PATCH] plug a major mem hog. (default empty session is now ~140MB RSS, was 280MB) libXML memory was only free() at exit --- libs/midi++2/midi++/midnam_patch.h | 1 - libs/midi++2/midnam_patch.cc | 7 ++++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/libs/midi++2/midi++/midnam_patch.h b/libs/midi++2/midi++/midnam_patch.h index 9b2a611d9e..4e5bb29f55 100644 --- a/libs/midi++2/midi++/midnam_patch.h +++ b/libs/midi++2/midi++/midnam_patch.h @@ -485,7 +485,6 @@ public: private: std::string _author; MasterDeviceNamesList _master_device_names_list; - XMLTree _document; MasterDeviceNames::Models _all_models; }; diff --git a/libs/midi++2/midnam_patch.cc b/libs/midi++2/midnam_patch.cc index 1ec6062205..bf841e9a68 100644 --- a/libs/midi++2/midnam_patch.cc +++ b/libs/midi++2/midnam_patch.cc @@ -877,12 +877,13 @@ MasterDeviceNames::get_state(void) MIDINameDocument::MIDINameDocument (const string& filename) { - if (!_document.read (filename)) { + XMLTree document; + if (!document.read (filename)) { throw failed_constructor (); } - _document.set_filename (filename); - set_state (_document, *_document.root()); + document.set_filename (filename); + set_state (document, *document.root()); } int