summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2008-03-17 20:36:37 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2008-03-17 20:36:37 +0000
commit75d8a7e2b11b527c9d74c97e6d7f9882fc4c5388 (patch)
tree6e1eb493b1fecc1ccc60e521131b008375997fe9
parent94a2d2364589c4a4795101187dab722f227a324a (diff)
fix problems with list stuff caused by assumptions about list type equivalence
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@3150 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--libs/ardour/ardour/automation_event.h1
-rw-r--r--libs/ardour/automation_event.cc9
2 files changed, 7 insertions, 3 deletions
diff --git a/libs/ardour/ardour/automation_event.h b/libs/ardour/ardour/automation_event.h
index 9792e00552..b9c243fa37 100644
--- a/libs/ardour/ardour/automation_event.h
+++ b/libs/ardour/ardour/automation_event.h
@@ -69,6 +69,7 @@ class AutomationList : public PBD::StatefulDestructible
public:
typedef std::list<ControlEvent*,ControlEventAllocator> AutomationEventList;
typedef AutomationEventList::iterator iterator;
+ typedef AutomationEventList::reverse_iterator reverse_iterator;
typedef AutomationEventList::const_iterator const_iterator;
AutomationList (double default_value);
diff --git a/libs/ardour/automation_event.cc b/libs/ardour/automation_event.cc
index 5119ebddaa..2815d4be50 100644
--- a/libs/ardour/automation_event.cc
+++ b/libs/ardour/automation_event.cc
@@ -674,7 +674,7 @@ AutomationList::truncate_end (double last_coordinate)
{
Glib::Mutex::Lock lm (lock);
ControlEvent cp (last_coordinate, 0);
- list<ControlEvent*>::reverse_iterator i;
+ AutomationList::reverse_iterator i;
double last_val;
if (events.empty()) {
@@ -743,7 +743,7 @@ AutomationList::truncate_end (double last_coordinate)
uint32_t sz = events.size();
while (i != events.rend() && sz > 2) {
- list<ControlEvent*>::reverse_iterator tmp;
+ AutomationList::reverse_iterator tmp;
tmp = i;
++tmp;
@@ -840,7 +840,7 @@ AutomationList::truncate_start (double overall_length)
i = events.begin();
while (i != events.end() && !events.empty()) {
- list<ControlEvent*>::iterator tmp;
+ AutomationList::iterator tmp;
tmp = i;
++tmp;
@@ -940,6 +940,9 @@ AutomationList::shared_eval (double x)
return multipoint_eval (x);
break;
}
+
+ /*NOTREACHED*/ /* stupid gcc */
+ return 0.0;
}
double