summaryrefslogtreecommitdiff
path: root/apps/common
diff options
context:
space:
mode:
authorTor Andersson <tor@ghostscript.com>2009-07-18 14:59:44 +0200
committerTor Andersson <tor@ghostscript.com>2009-07-18 14:59:44 +0200
commite36b3779b5f409c21602ae7ca34bc2bb989f0a61 (patch)
tree3a34a37e21ecad16342a577ade6c5229e21df51c /apps/common
parent1d3a42a1dec236c88b01ab59f59e246eb91445bd (diff)
downloadmupdf-e36b3779b5f409c21602ae7ca34bc2bb989f0a61.tar.xz
Load the pagecount after the encryption has been parsed and installed.
Diffstat (limited to 'apps/common')
-rw-r--r--apps/common/pdfapp.c13
-rw-r--r--apps/common/pdftool.c5
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)