diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2012-08-17 18:42:07 +0200 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2012-08-17 18:42:07 +0200 |
| commit | 8a6e8cd898c2149cb362dd91cc8ac68d9566956b (patch) | |
| tree | 7b9a4a4310edfa04785892cff27c86e297832922 /src | |
| parent | b6460aaec717f71e83c954965f3006b2cf76f37e (diff) | |
RegexColorizer: Fix range computation
Diffstat (limited to 'src')
| -rw-r--r-- | src/highlighters.cc | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/highlighters.cc b/src/highlighters.cc index d41456c4..a9c48024 100644 --- a/src/highlighters.cc +++ b/src/highlighters.cc @@ -94,18 +94,18 @@ private: void update_cache_ifn(const BufferRange& range) { - const Buffer* newbuf = &range.first.buffer(); + const Buffer& buf = range.first.buffer(); if (m_cache_range.first.is_valid() and - &m_cache_range.first.buffer() == newbuf and - newbuf->timestamp() == m_cache_timestamp and + &m_cache_range.first.buffer() == &buf and + buf.timestamp() == m_cache_timestamp and range.first >= m_cache_range.first and range.second <= m_cache_range.second) return; m_cache_matches.clear(); - m_cache_range.first = range.first - 10; - m_cache_range.second = range.second + 10; - m_cache_timestamp = newbuf->timestamp(); + m_cache_range.first = buf.iterator_at({range.first.line() - 10, 0}); + m_cache_range.second = buf.iterator_at({range.second.line() + 10, 0}); + m_cache_timestamp = buf.timestamp(); RegexIterator re_it(m_cache_range.first, m_cache_range.second, m_regex); RegexIterator re_end; |
