diff options
Diffstat (limited to 'apps/plugins/text_viewer/tv_pager.c')
-rw-r--r-- | apps/plugins/text_viewer/tv_pager.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/apps/plugins/text_viewer/tv_pager.c b/apps/plugins/text_viewer/tv_pager.c index a91d9d91ab..e9886e09dd 100644 --- a/apps/plugins/text_viewer/tv_pager.c +++ b/apps/plugins/text_viewer/tv_pager.c | |||
@@ -220,7 +220,7 @@ void tv_convert_fpos(off_t fpos, struct tv_screen_pos *pos) | |||
220 | while (tv_create_line_positions() && cur_pos.file_pos < fpos) | 220 | while (tv_create_line_positions() && cur_pos.file_pos < fpos) |
221 | rb->splashf(0, "converting %ld%%...", 100 * cur_pos.file_pos / fpos); | 221 | rb->splashf(0, "converting %ld%%...", 100 * cur_pos.file_pos / fpos); |
222 | 222 | ||
223 | if (cur_pos.page < max_page) | 223 | if (i < max_page) |
224 | cur_pos.page--; | 224 | cur_pos.page--; |
225 | tv_seek_page(cur_pos.page, SEEK_SET); | 225 | tv_seek_page(cur_pos.page, SEEK_SET); |
226 | for (i = 0; i < lines_per_page; i++) | 226 | for (i = 0; i < lines_per_page; i++) |
@@ -296,6 +296,8 @@ void tv_move_screen(int page_offset, int line_offset, int whence) | |||
296 | if (cur_pos.page < max_page && new_pos.line == lines_per_page) | 296 | if (cur_pos.page < max_page && new_pos.line == lines_per_page) |
297 | { | 297 | { |
298 | tv_seek(line_pos[lines_per_page], SEEK_CUR); | 298 | tv_seek(line_pos[lines_per_page], SEEK_CUR); |
299 | cur_pos.file_pos += line_pos[lines_per_page]; | ||
300 | |||
299 | for (i = 0; i < parse_lines; i++) | 301 | for (i = 0; i < parse_lines; i++) |
300 | line_pos[i] = line_pos[i + lines_per_page] - line_pos[lines_per_page]; | 302 | line_pos[i] = line_pos[i + lines_per_page] - line_pos[lines_per_page]; |
301 | 303 | ||