diff options
Diffstat (limited to 'apps/common')
-rw-r--r-- | apps/common/pdfapp.c | 13 | ||||
-rw-r--r-- | apps/common/pdftool.c | 5 |
2 files changed, 13 insertions, 5 deletions
diff --git a/apps/common/pdfapp.c b/apps/common/pdfapp.c index f4cea83f..69a41055 100644 --- a/apps/common/pdfapp.c +++ b/apps/common/pdfapp.c @@ -159,7 +159,10 @@ void pdfapp_open(pdfapp_t *app, char *filename) * Start at first page */ - app->pagecount = app->xref->pagecount; + error = pdf_getpagecount(app->xref, &app->pagecount); + if (error) + pdfapp_error(app, error); + app->shrinkwrap = 1; if (app->pageno < 1) app->pageno = 1; @@ -255,7 +258,7 @@ static void pdfapp_showpage(pdfapp_t *app, int loadpage, int drawpage) pdfapp_error(app, error); sprintf(buf, "%s - %d/%d", app->doctitle, - app->pageno, app->xref->pagecount); + app->pageno, app->pagecount); wintitle(app, buf); } @@ -441,7 +444,7 @@ void pdfapp_onkey(pdfapp_t *app, int c) break; case 'G': - app->pageno = app->xref->pagecount; + app->pageno = app->pagecount; break; case 'm': @@ -482,8 +485,8 @@ void pdfapp_onkey(pdfapp_t *app, int c) if (app->pageno < 1) app->pageno = 1; - if (app->pageno > app->xref->pagecount) - app->pageno = app->xref->pagecount; + if (app->pageno > app->pagecount) + app->pageno = app->pagecount; if (app->pageno != oldpage) { diff --git a/apps/common/pdftool.c b/apps/common/pdftool.c index a607ba3d..5de9e1b6 100644 --- a/apps/common/pdftool.c +++ b/apps/common/pdftool.c @@ -2,6 +2,7 @@ char *basename = nil; pdf_xref *xref = nil; +int pagecount = 0; static void (*cleanup)(void) = nil; void closexref(void); @@ -67,6 +68,10 @@ void openxref(char *filename, char *password, int dieonbadpass) xref->info = fz_resolveindirect(obj); if (xref->info) fz_keepobj(xref->info); + + error = pdf_getpagecount(xref, &pagecount); + if (error) + die(error); } void closexref(void) |