summaryrefslogtreecommitdiff
path: root/apps/plugins/text_viewer/tv_pager.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/text_viewer/tv_pager.c')
-rw-r--r--apps/plugins/text_viewer/tv_pager.c4
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