diff --git a/repertory/librepertory/src/file_manager/ring_buffer_base.cpp b/repertory/librepertory/src/file_manager/ring_buffer_base.cpp index 503daa9..9d4b013 100644 --- a/repertory/librepertory/src/file_manager/ring_buffer_base.cpp +++ b/repertory/librepertory/src/file_manager/ring_buffer_base.cpp @@ -327,13 +327,15 @@ void ring_buffer_base::reader_thread(bool is_forward) { if (next_chunk > ring_end_) { next_chunk = ring_pos_; } - } else if (last_marker != ring_begin_) { - last_marker = ring_begin_; - next_chunk = ring_pos_; - } + } else { + if (last_marker != ring_begin_) { + last_marker = ring_begin_; + next_chunk = ring_pos_; + } - if (next_chunk > ring_begin_) { - --next_chunk; + if (next_chunk > ring_begin_) { + --next_chunk; + } } if (read_state_[next_chunk % read_state_.size()]) {