row. Make cleanup work nicely
git-svn-id: svn://localhost/ardour2/trunk@2485
d708f5d6-7413-0410-9779-
e7cbd77b26cf
std::set<Parameter> automatable() const;
uint32_t nth_parameter (uint32_t port, bool& ok) const;
void activate () {
+ if (was_activated)
+ return;
+
if (descriptor->activate) {
descriptor->activate (handle);
}
+
was_activated = true;
}
void deactivate () {
- if (descriptor->deactivate)
+ if (!was_activated)
+ return;
+
+ if (descriptor->deactivate) {
descriptor->deactivate (handle);
+ }
+
+ was_activated = false;
}
void cleanup () {
- if (was_activated && descriptor->cleanup) {
+ deactivate();
+
+ if (descriptor->cleanup) {
descriptor->cleanup (handle);
}
}