summaryrefslogtreecommitdiff
path: root/src/display_buffer.cc
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2011-10-23 20:26:30 +0000
committerMaxime Coste <frrrwww@gmail.com>2011-10-23 20:26:30 +0000
commitfffa405bfd86ec49fd27d7f9a903271409a0ea24 (patch)
tree02f00b85fd42b79716de256ca3a15d4329fc9242 /src/display_buffer.cc
parentad6ee464f4845a85c62702a5132cdcf1a19f7f1e (diff)
DisplayBuffer: overload atom_containing with a version taking an iterator to search start
Diffstat (limited to 'src/display_buffer.cc')
-rw-r--r--src/display_buffer.cc10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/display_buffer.cc b/src/display_buffer.cc
index 64b2099e..a263d8f5 100644
--- a/src/display_buffer.cc
+++ b/src/display_buffer.cc
@@ -88,10 +88,16 @@ DisplayBuffer::iterator DisplayBuffer::insert(iterator where, const DisplayAtom&
DisplayBuffer::iterator DisplayBuffer::atom_containing(const BufferIterator& where)
{
- for (iterator it = m_atoms.begin(); it != m_atoms.end(); ++it)
+ return atom_containing(where, m_atoms.begin());
+}
+
+DisplayBuffer::iterator DisplayBuffer::atom_containing(const BufferIterator& where,
+ iterator start)
+{
+ for (iterator it = start; it != m_atoms.end(); ++it)
{
if (it->end() > where)
- return it;
+ return it->begin() <= where ? it : end();
}
return end();
}