summaryrefslogtreecommitdiff
path: root/audio/ardour/tempoline_crash.patch
diff options
context:
space:
mode:
Diffstat (limited to 'audio/ardour/tempoline_crash.patch')
-rw-r--r--audio/ardour/tempoline_crash.patch83
1 files changed, 0 insertions, 83 deletions
diff --git a/audio/ardour/tempoline_crash.patch b/audio/ardour/tempoline_crash.patch
deleted file mode 100644
index cd93b1531b..0000000000
--- a/audio/ardour/tempoline_crash.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-commit b29f54fb6efcdb2facf0471bd8e24d8eea3231b0
-Author: Paul Davis <paul@linuxaudiosystems.com>
-Date: Wed Feb 20 18:53:30 2013 +0000
-
- back-port tempo line assert fix from 3.0 to stop crashing under some relatively easy to hit conditions
-
- git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@14067 d708f5d6-7413-0410-9779-e7cbd77b26cf
-
-diff --git a/gtk2_ardour/tempo_lines.cc b/gtk2_ardour/tempo_lines.cc
-index e8bd034..a373dec 100644
---- a/gtk2_ardour/tempo_lines.cc
-+++ b/gtk2_ardour/tempo_lines.cc
-@@ -146,9 +146,8 @@ TempoLines::draw (ARDOUR::TempoMap::BBTPointList& points, double frames_per_unit
- }
-
- xpos = rint(((nframes64_t)(*i).frame) / (double)frames_per_unit);
-- if (inserted_last_time && !_lines.empty()) {
-- li = _lines.lower_bound(xpos); // first line >= xpos
-- }
-+
-+ li = _lines.lower_bound(xpos); // first line >= xpos
-
- line = (li != _lines.end()) ? li->second : NULL;
- assert(!line || line->property_x1() == li->first);
-@@ -215,33 +214,35 @@ TempoLines::draw (ARDOUR::TempoMap::BBTPointList& points, double frames_per_unit
- // Create a new line
- } else if (_lines.size() < needed || _lines.size() < MAX_CACHED_LINES) {
- //cout << "*** CREATING LINE" << endl;
-- assert(_lines.find(xpos) == _lines.end());
-- line = new ArdourCanvas::SimpleLine (*_group);
-- line->property_x1() = xpos;
-- line->property_x2() = xpos;
-- line->property_y1() = 0.0;
-- line->property_y2() = _height;
-- line->property_color_rgba() = color;
-- _lines.insert(make_pair(xpos, line));
-- inserted_last_time = true;
-+ if (_lines.find(xpos) == _lines.end()) {
-+ line = new ArdourCanvas::SimpleLine (*_group);
-+ line->property_x1() = xpos;
-+ line->property_x2() = xpos;
-+ line->property_y1() = 0.0;
-+ line->property_y2() = _height;
-+ line->property_color_rgba() = color;
-+ _lines.insert(make_pair(xpos, line));
-+ inserted_last_time = true;
-+ }
-
- // Steal from the left
- } else {
- //cout << "*** STEALING FROM LEFT" << endl;
-- assert(_lines.find(xpos) == _lines.end());
-- Lines::iterator steal = _lines.begin();
-- line = steal->second;
-- _lines.erase(steal);
-- line->property_color_rgba() = color;
-- line->property_x1() = xpos;
-- line->property_x2() = xpos;
-- _lines.insert(make_pair(xpos, line));
-- inserted_last_time = true; // search next time
-- invalidated = true;
--
-- // Shift clean range right
-- _clean_left = max(_clean_left, steal->first);
-- _clean_right = max(_clean_right, xpos);
-+ if (_lines.find(xpos) == _lines.end()) {
-+ Lines::iterator steal = _lines.begin();
-+ line = steal->second;
-+ _lines.erase(steal);
-+ line->property_color_rgba() = color;
-+ line->property_x1() = xpos;
-+ line->property_x2() = xpos;
-+ _lines.insert(make_pair(xpos, line));
-+ inserted_last_time = true; // search next time
-+ invalidated = true;
-+
-+ // Shift clean range right
-+ _clean_left = max(_clean_left, steal->first);
-+ _clean_right = max(_clean_right, xpos);
-+ }
- }
-
- break;