diff options
Diffstat (limited to 'src/Selection.cxx')
| -rw-r--r-- | src/Selection.cxx | 18 | 
1 files changed, 18 insertions, 0 deletions
| diff --git a/src/Selection.cxx b/src/Selection.cxx index 43607b244..1ea5f1bbe 100644 --- a/src/Selection.cxx +++ b/src/Selection.cxx @@ -310,3 +310,21 @@ void Selection::Clear() {  	ranges[mainRange].Reset();  	rangeRectangular.Reset();  } + +void Selection::RemoveDuplicates() { +	for (size_t i=0; i<ranges.size()-1; i++) { +		if (ranges[i].Empty()) { +			size_t j=i+1; +			while (j<ranges.size()) { +				if (ranges[i] == ranges[j]) { +					ranges.erase(ranges.begin() + j); +					if (mainRange >= j) +						mainRange--; +				} else { +					j++; +				} +			} +		} +	} +} + | 
