summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBert <ber.t@gmx.com>2011-08-17 22:13:53 +0200
committerTor Andersson <tor.andersson@artifex.com>2011-08-30 00:05:30 +0200
commita7a8ca26350e0a3b0e5dc756b4c40e3f5b0f872c (patch)
treeb39cb373030c0b4ecb92b9f5b32429f4202ce04d
parent254e307c685141d538bb75b581d005470f33a864 (diff)
downloadmupdf-a7a8ca26350e0a3b0e5dc756b4c40e3f5b0f872c.tar.xz
Do not change view when reloading file.
-rw-r--r--apps/pdfapp.c15
-rw-r--r--apps/pdfapp.h2
-rw-r--r--apps/win_main.c4
-rw-r--r--apps/x11_main.c4
4 files changed, 15 insertions, 10 deletions
diff --git a/apps/pdfapp.c b/apps/pdfapp.c
index c42ba856..41cc13f8 100644
--- a/apps/pdfapp.c
+++ b/apps/pdfapp.c
@@ -179,7 +179,7 @@ static void pdfapp_open_xps(pdfapp_t *app, char *filename, int fd)
app->pagecount = xps_count_pages(app->xps);
}
-void pdfapp_open(pdfapp_t *app, char *filename, int fd)
+void pdfapp_open(pdfapp_t *app, char *filename, int fd, int reload)
{
if (strstr(filename, ".xps") || strstr(filename, ".XPS") || strstr(filename, ".rels"))
pdfapp_open_xps(app, filename, fd);
@@ -188,7 +188,6 @@ void pdfapp_open(pdfapp_t *app, char *filename, int fd)
app->cache = fz_new_glyph_cache();
- app->shrinkwrap = 1;
if (app->pageno < 1)
app->pageno = 1;
if (app->pageno > app->pagecount)
@@ -197,9 +196,14 @@ void pdfapp_open(pdfapp_t *app, char *filename, int fd)
app->resolution = MINRES;
if (app->resolution > MAXRES)
app->resolution = MAXRES;
- app->rotate = 0;
- app->panx = 0;
- app->pany = 0;
+
+ if (!reload)
+ {
+ app->shrinkwrap = 1;
+ app->rotate = 0;
+ app->panx = 0;
+ app->pany = 0;
+ }
pdfapp_showpage(app, 1, 1, 1);
}
@@ -889,6 +893,7 @@ void pdfapp_onkey(pdfapp_t *app, int c)
*/
case 'r':
+ panto = DONT_PAN;
oldpage = -1;
winreloadfile(app);
break;
diff --git a/apps/pdfapp.h b/apps/pdfapp.h
index f884f05a..23f66658 100644
--- a/apps/pdfapp.h
+++ b/apps/pdfapp.h
@@ -89,7 +89,7 @@ struct pdfapp_s
};
void pdfapp_init(pdfapp_t *app);
-void pdfapp_open(pdfapp_t *app, char *filename, int fd);
+void pdfapp_open(pdfapp_t *app, char *filename, int fd, int reload);
void pdfapp_close(pdfapp_t *app);
char *pdfapp_version(pdfapp_t *app);
diff --git a/apps/win_main.c b/apps/win_main.c
index d98a6742..fc772aa7 100644
--- a/apps/win_main.c
+++ b/apps/win_main.c
@@ -607,7 +607,7 @@ void winreloadfile(pdfapp_t *app)
if (fd < 0)
winerror(&gapp, fz_throw("cannot reload file '%s'", filename));
- pdfapp_open(app, filename, fd);
+ pdfapp_open(app, filename, fd, 1);
}
void winopenuri(pdfapp_t *app, char *buf)
@@ -869,7 +869,7 @@ WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShow
if (code == 0)
win32error("cannot convert filename to utf-8");
- pdfapp_open(&gapp, filename, fd);
+ pdfapp_open(&gapp, filename, fd, 0);
while (GetMessage(&msg, NULL, 0, 0))
{
diff --git a/apps/x11_main.c b/apps/x11_main.c
index fd689736..d693591c 100644
--- a/apps/x11_main.c
+++ b/apps/x11_main.c
@@ -477,7 +477,7 @@ void winreloadfile(pdfapp_t *app)
if (fd < 0)
winerror(app, fz_throw("cannot reload file '%s'", filename));
- pdfapp_open(app, filename, fd);
+ pdfapp_open(app, filename, fd, 1);
}
void winopenuri(pdfapp_t *app, char *buf)
@@ -618,7 +618,7 @@ int main(int argc, char **argv)
if (fd < 0)
winerror(&gapp, fz_throw("cannot open file '%s'", filename));
- pdfapp_open(&gapp, filename, fd);
+ pdfapp_open(&gapp, filename, fd, 0);
winresettmo(&tmo, &tmo_at);