[poppler] poppler/JBIG2Stream.cc poppler/JBIG2Stream.h poppler/Stream.cc
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Nov 14 14:27:00 UTC 2018
poppler/JBIG2Stream.cc | 6 +++---
poppler/JBIG2Stream.h | 2 +-
poppler/Stream.cc | 5 +++--
3 files changed, 7 insertions(+), 6 deletions(-)
New commits:
commit f846c9a2ccdd975ead3b8287cbac0064841ef360
Author: Albert Astals Cid <aacid at kde.org>
Date: Wed Nov 14 15:26:47 2018 +0100
JBIG2Stream: Move Object instead of copying it
diff --git a/poppler/JBIG2Stream.cc b/poppler/JBIG2Stream.cc
index f4c735e6..5eea3bf2 100644
--- a/poppler/JBIG2Stream.cc
+++ b/poppler/JBIG2Stream.cc
@@ -1174,7 +1174,7 @@ JBIG2CodeTable::~JBIG2CodeTable() {
// JBIG2Stream
//------------------------------------------------------------------------
-JBIG2Stream::JBIG2Stream(Stream *strA, Object *globalsStreamA, Object *globalsStreamRefA):
+JBIG2Stream::JBIG2Stream(Stream *strA, Object &&globalsStreamA, Object *globalsStreamRefA):
FilterStream(strA)
{
pageBitmap = nullptr;
@@ -1199,8 +1199,8 @@ JBIG2Stream::JBIG2Stream(Stream *strA, Object *globalsStreamA, Object *globalsSt
huffDecoder = new JBIG2HuffmanDecoder();
mmrDecoder = new JBIG2MMRDecoder();
- if (globalsStreamA->isStream()) {
- globalsStream = globalsStreamA->copy();
+ if (globalsStreamA.isStream()) {
+ globalsStream = std::move(globalsStreamA);
if (globalsStreamRefA->isRef())
globalsStreamRef = globalsStreamRefA->getRef();
}
diff --git a/poppler/JBIG2Stream.h b/poppler/JBIG2Stream.h
index a4279553..1f6a02ab 100644
--- a/poppler/JBIG2Stream.h
+++ b/poppler/JBIG2Stream.h
@@ -43,7 +43,7 @@ class JBIG2MMRDecoder;
class JBIG2Stream: public FilterStream {
public:
- JBIG2Stream(Stream *strA, Object *globalsStreamA, Object *globalsStreamRefA);
+ JBIG2Stream(Stream *strA, Object &&globalsStreamA, Object *globalsStreamRefA);
~JBIG2Stream();
StreamKind getKind() override { return strJBIG2; }
void reset() override;
diff --git a/poppler/Stream.cc b/poppler/Stream.cc
index cc5e28dd..cc4eb935 100644
--- a/poppler/Stream.cc
+++ b/poppler/Stream.cc
@@ -213,7 +213,7 @@ Stream *Stream::makeFilter(const char *name, Stream *str, Object *params, int re
int encoding;
bool endOfLine, byteAlign, endOfBlock, black, damagedRowsBeforeError;
int columns, rows;
- Object globals, obj;
+ Object obj;
if (!strcmp(name, "ASCIIHexDecode") || !strcmp(name, "AHx")) {
str = new ASCIIHexStream(str);
@@ -325,12 +325,13 @@ Stream *Stream::makeFilter(const char *name, Stream *str, Object *params, int re
}
str = new FlateStream(str, pred, columns, colors, bits);
} else if (!strcmp(name, "JBIG2Decode")) {
+ Object globals;
if (params->isDict()) {
XRef *xref = params->getDict()->getXRef();
obj = params->dictLookupNF("JBIG2Globals");
globals = obj.fetch(xref, recursion);
}
- str = new JBIG2Stream(str, &globals, &obj);
+ str = new JBIG2Stream(str, std::move(globals), &obj);
} else if (!strcmp(name, "JPXDecode")) {
#ifdef HAVE_JPX_DECODER
str = new JPXStream(str);
More information about the poppler
mailing list