diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2013-06-03 18:58:09 +0200 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2013-06-04 14:21:07 +0200 |
| commit | 4ef1bfa4db03526f670213f29ed88212913be43f (patch) | |
| tree | 19d8e34f788bea2e6f565708cf219226b176e898 /src/input_handler.cc | |
| parent | 02b33c7d8fd0167a4cbca78be26ed32e042c7370 (diff) | |
Use coord instead of iterators for selections
Diffstat (limited to 'src/input_handler.cc')
| -rw-r--r-- | src/input_handler.cc | 8 |
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); } } |
