summaryrefslogtreecommitdiff
path: root/libs/ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2014-07-09 14:28:01 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2014-07-09 14:30:38 -0400
commit9e8b50f07539e77f10829f5e8b352b40a1eac309 (patch)
treeb42a626b594ef5a3c081b29efcccf31db4f83574 /libs/ardour
parent2a852cfc75c065d375bd4462df1c653978a6b49f (diff)
make AutomationList::operator==() private and abort() as its core, because it should never be called/used.
Also make AutomationList::operator=() use ControlList::operator=() rather than try to reimplement it
Diffstat (limited to 'libs/ardour')
-rw-r--r--libs/ardour/ardour/automation_list.h4
-rw-r--r--libs/ardour/automation_list.cc18
2 files changed, 7 insertions, 15 deletions
diff --git a/libs/ardour/ardour/automation_list.h b/libs/ardour/ardour/automation_list.h
index 6e7b0007cd..72c26420c0 100644
--- a/libs/ardour/ardour/automation_list.h
+++ b/libs/ardour/ardour/automation_list.h
@@ -21,6 +21,7 @@
#define __ardour_automation_event_h__
#include <stdint.h>
+#include <cstdlib>
#include <list>
#include <cmath>
@@ -71,7 +72,6 @@ class LIBARDOUR_API AutomationList : public PBD::StatefulDestructible, public Ev
virtual boost::shared_ptr<Evoral::ControlList> create(Evoral::Parameter id);
AutomationList& operator= (const AutomationList&);
- bool operator== (const AutomationList&);
void thaw ();
@@ -116,6 +116,8 @@ class LIBARDOUR_API AutomationList : public PBD::StatefulDestructible, public Ev
AutoState _state;
AutoStyle _style;
gint _touching;
+
+ bool operator== (const AutomationList&) const { /* not called */ abort(); return false; }
};
} // namespace
diff --git a/libs/ardour/automation_list.cc b/libs/ardour/automation_list.cc
index 32e69af7ae..e5a4493618 100644
--- a/libs/ardour/automation_list.cc
+++ b/libs/ardour/automation_list.cc
@@ -137,26 +137,16 @@ AutomationList::create_curve_if_necessary()
}
}
-bool
-AutomationList::operator== (const AutomationList& other)
-{
- return _events == other._events;
-}
-
AutomationList&
AutomationList::operator= (const AutomationList& other)
{
if (this != &other) {
- _events.clear ();
-
- for (const_iterator i = other._events.begin(); i != other._events.end(); ++i) {
- _events.push_back (new Evoral::ControlEvent (**i));
- }
- _min_yval = other._min_yval;
- _max_yval = other._max_yval;
- _default_value = other._default_value;
+ ControlList::operator= (other);
+ _state = other._state;
+ _style = other._style;
+ _touching = other._touching;
mark_dirty ();
maybe_signal_changed ();