From cd61673238eeff32c20281af79ffd54c4d405d9d Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Wed, 31 Dec 2014 07:43:43 -0500 Subject: [PATCH] Fix range "arithmetic" Subtracting anything from an empty range should return an empty range, not an assert() failure Conflicts: libs/evoral/evoral/Range.hpp --- libs/evoral/evoral/Range.hpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libs/evoral/evoral/Range.hpp b/libs/evoral/evoral/Range.hpp index 689dc439b4..a0d2328d9b 100644 --- a/libs/evoral/evoral/Range.hpp +++ b/libs/evoral/evoral/Range.hpp @@ -113,6 +113,7 @@ struct /*LIBEVORAL_API*/ Range { Range (T f, T t) : from (f), to (t) {} T from; ///< start of the range T to; ///< end of the range + bool empty() const { return from == to; } }; template @@ -191,7 +192,7 @@ RangeList subtract (Range range, RangeList sub) RangeList result; result.add (range); - if (sub.empty ()) { + if (sub.empty () || range.empty()) { return result; }