From fed7e723b8896f93d5c4675c356b3e29cde7e0fa Mon Sep 17 00:00:00 2001 From: Andreas Gal Date: Wed, 11 May 2011 23:00:36 -0700 Subject: [PATCH] clone stream if we got it from the cache in case its already in use --- pdf.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pdf.js b/pdf.js index efca6b987..750cec170 100644 --- a/pdf.js +++ b/pdf.js @@ -1739,8 +1739,12 @@ var XRef = (function() { fetch: function(ref) { var num = ref.num; var e = this.cache[num]; - if (e) + if (e) { + // The stream might be in use elsewhere, so clone it. + if (IsStream(e)) + e = e.makeSubStream(0); return e; + } e = this.getEntry(num); var gen = ref.gen; if (e.uncompressed) { @@ -1810,7 +1814,6 @@ var Page = (function() { height: mediaBox[3] - mediaBox[1] }); var args = []; var map = gfx.map; - contents.reset(); // TODO support multiple display()s var parser = new Parser(new Lexer(contents), false); var obj; while (!IsEOF(obj = parser.getObj())) {