From 74f4299e8f9e2d204979479f6579dd784db678a4 Mon Sep 17 00:00:00 2001 From: Albert Astals Cid Date: Sun, 04 Dec 2011 16:29:45 +0000 Subject: Do not fail if we are trying to save a file with Encrypt but that we have not modified at all Fixes KDE bug #288045 (cherry picked from commit 63c942a45227ef28fb94ef4765171d9812fffafa) --- diff --git a/poppler/PDFDoc.cc b/poppler/PDFDoc.cc index 01d2759..2758206 100644 --- a/poppler/PDFDoc.cc +++ b/poppler/PDFDoc.cc @@ -707,35 +707,44 @@ int PDFDoc::saveAs(GooString *name, PDFWriteMode mode) { int PDFDoc::saveAs(OutStream *outStr, PDFWriteMode mode) { - // we don't support files with Encrypt at the moment + // find if we have updated objects + GBool updated = gFalse; + for(int i=0; igetNumObjects(); i++) { + if (xref->getEntry(i)->updated) { + updated = gTrue; + break; + } + } + + // we don't support rewriting files with Encrypt at the moment Object obj; xref->getTrailerDict()->getDict()->lookupNF("Encrypt", &obj); if (!obj.isNull()) { obj.free(); - return errEncrypted; + if (!updated && mode == writeStandard) { + // simply copy the original file + saveWithoutChangesAs (outStr); + } else { + return errEncrypted; + } } - obj.free(); + else + { + obj.free(); - if (mode == writeForceRewrite) { - saveCompleteRewrite(outStr); - } else if (mode == writeForceIncremental) { - saveIncrementalUpdate(outStr); - } else { // let poppler decide - // find if we have updated objects - GBool updated = gFalse; - for(int i=0; igetNumObjects(); i++) { - if (xref->getEntry(i)->updated) { - updated = gTrue; - break; + if (mode == writeForceRewrite) { + saveCompleteRewrite(outStr); + } else if (mode == writeForceIncremental) { + saveIncrementalUpdate(outStr); + } else { // let poppler decide + if(updated) { + saveIncrementalUpdate(outStr); + } else { + // simply copy the original file + saveWithoutChangesAs (outStr); } } - if(updated) { - saveIncrementalUpdate(outStr); - } else { - // simply copy the original file - saveWithoutChangesAs (outStr); - } } return errNone; -- cgit v0.9.0.2-2-gbebe From 03544e2f602319f0b381f5f357e14cc2cc77d2c1 Mon Sep 17 00:00:00 2001 From: Albert Astals Cid Date: Tue, 06 Dec 2011 22:21:15 +0000 Subject: include strings.h as we use memcpy Fixes bug 43558 (cherry picked from commit 388d72ac27ae98fe3a1ebd21760f2b0fa0249a9b) --- diff --git a/goo/PNGWriter.cc b/goo/PNGWriter.cc index f88c3a7..1fb8cab 100644 --- a/goo/PNGWriter.cc +++ b/goo/PNGWriter.cc @@ -6,7 +6,7 @@ // // Copyright (C) 2009 Warren Toomey // Copyright (C) 2009 Shen Liang -// Copyright (C) 2009 Albert Astals Cid +// Copyright (C) 2009, 2011 Albert Astals Cid // Copyright (C) 2009 Stefan Thomas // Copyright (C) 2010, 2011 Adrian Johnson // Copyright (C) 2011 Thomas Klausner @@ -19,6 +19,7 @@ #include #include +#include #include "poppler/Error.h" #include "goo/gmem.h" -- cgit v0.9.0.2-2-gbebe