summaryrefslogtreecommitdiff
path: root/testing/poppler/git-fixes.patch
blob: 24a66b84fd83ab10794a9375aef12af460995a1c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
From 74f4299e8f9e2d204979479f6579dd784db678a4 Mon Sep 17 00:00:00 2001
From: Albert Astals Cid <aacid@kde.org>
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; i<xref->getNumObjects(); 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; i<xref->getNumObjects(); 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 <aacid@kde.org>
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 <wkt@tuhs.org>
 // Copyright (C) 2009 Shen Liang <shenzhuxi@gmail.com>
-// Copyright (C) 2009 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2009, 2011 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2009 Stefan Thomas <thomas@eload24.com>
 // Copyright (C) 2010, 2011 Adrian Johnson <ajohnson@redneon.com>
 // Copyright (C) 2011 Thomas Klausner <wiz@danbala.tuwien.ac.at>
@@ -19,6 +19,7 @@
 
 #include <zlib.h>
 #include <stdlib.h>
+#include <string.h>
 
 #include "poppler/Error.h"
 #include "goo/gmem.h"
--
cgit v0.9.0.2-2-gbebe