summaryrefslogtreecommitdiff
path: root/src/input_handler.cc
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2013-06-03 18:58:09 +0200
committerMaxime Coste <frrrwww@gmail.com>2013-06-04 14:21:07 +0200
commit4ef1bfa4db03526f670213f29ed88212913be43f (patch)
tree19d8e34f788bea2e6f565708cf219226b176e898 /src/input_handler.cc
parent02b33c7d8fd0167a4cbca78be26ed32e042c7370 (diff)
Use coord instead of iterators for selections
Diffstat (limited to 'src/input_handler.cc')
-rw-r--r--src/input_handler.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/input_handler.cc b/src/input_handler.cc
index d76d3b14..fd2be75c 100644
--- a/src/input_handler.cc
+++ b/src/input_handler.cc
@@ -610,11 +610,13 @@ public:
for (auto& sel : m_context.editor().selections())
{
auto offset = buffer.offset(sel.last());
+ auto pos = buffer.iterator_at(sel.last());
if (offset >= beg_offset and offset + end_offset < buffer_len and
- std::equal(sel.last() - beg_offset, sel.last(), begin))
+ std::equal(pos - beg_offset, pos, begin))
{
- buffer.erase(sel.last() - beg_offset, sel.last() + end_offset);
- buffer.insert(sel.last(), candidate);
+ auto beg = pos - beg_offset;
+ buffer.erase(beg, pos + end_offset);
+ buffer.insert(beg, candidate);
}
}