diff --git a/libs/surfaces/mackie/surface.cc b/libs/surfaces/mackie/surface.cc index 020b389ad4..7beaef59fa 100644 --- a/libs/surfaces/mackie/surface.cc +++ b/libs/surfaces/mackie/surface.cc @@ -149,18 +149,6 @@ Surface::~Surface () { DEBUG_TRACE (DEBUG::MackieControl, "Surface::~Surface init\n"); - // zero_all (); - - // delete groups - for (Groups::iterator it = groups.begin(); it != groups.end(); ++it) { - delete it->second; - } - - // delete controls - for (Controls::iterator it = controls.begin(); it != controls.end(); ++it) { - delete *it; - } - port_connection.disconnect (); if (input_source) { @@ -168,6 +156,16 @@ Surface::~Surface () input_source = 0; } + // delete groups (strips) + for (Groups::iterator it = groups.begin(); it != groups.end(); ++it) { + delete it->second; + } + + // delete controls (global buttons, master fader etc) + for (Controls::iterator it = controls.begin(); it != controls.end(); ++it) { + delete *it; + } + delete _jog_wheel; delete _port;