Skip to content

Commit 312c9bb

Browse files
Benoit Lagaeitext-teamcity
authored andcommitted
Force first revision xref to not have subsections
DEVSIX-1428 Autoported commit. Original commit hash: [31e6078b7]
1 parent 52c98be commit 312c9bb

File tree

4 files changed

+14
-24
lines changed

4 files changed

+14
-24
lines changed

itext/itext.kernel/itext/kernel/font/PdfSimpleFont.cs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -112,12 +112,7 @@ public override int AppendGlyphs(String text, int from, int to, IList<Glyph> gly
112112
processed++;
113113
}
114114
else {
115-
if (glyph == null && TextUtil.IsWhitespaceOrNonPrintable((int)text[i])) {
116-
processed++;
117-
}
118-
else {
119-
break;
120-
}
115+
break;
121116
}
122117
}
123118
}

itext/itext.kernel/itext/kernel/pdf/PdfDocument.cs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -710,13 +710,17 @@ public virtual void Close() {
710710
FlushFonts();
711711
writer.FlushWaitingObjects();
712712
// flush unused objects
713-
if (IsFlushUnusedObjects()) {
714-
for (int i = 0; i < xref.Size(); i++) {
715-
PdfIndirectReference indirectReference = xref.Get(i);
716-
if (!indirectReference.IsFree() && !indirectReference.CheckState(PdfObject.FLUSHED)) {
713+
for (int i = 0; i < xref.Size(); i++) {
714+
PdfIndirectReference indirectReference = xref.Get(i);
715+
if (indirectReference != null && !indirectReference.IsFree() && !indirectReference.CheckState(PdfObject.FLUSHED
716+
)) {
717+
if (IsFlushUnusedObjects()) {
717718
PdfObject @object = indirectReference.GetRefersTo();
718719
@object.Flush();
719720
}
721+
else {
722+
indirectReference.SetFree();
723+
}
720724
}
721725
}
722726
}

itext/itext.kernel/itext/kernel/pdf/PdfXrefTable.cs

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,6 @@ protected internal virtual void FreeReference(PdfIndirectReference reference) {
139139
if (reference.GetGenNumber() < MAX_GENERATION) {
140140
freeReferences.Add(reference.GetObjNumber());
141141
EnsureCount(Math.Max(this.count, reference.GetObjNumber()));
142-
xref[reference.GetObjNumber()] = null;
143142
}
144143
}
145144
}
@@ -155,16 +154,9 @@ protected internal virtual void SetCapacity(int capacity) {
155154
protected internal virtual void WriteXrefTableAndTrailer(PdfDocument document, PdfObject fileId, PdfObject
156155
crypto) {
157156
PdfWriter writer = document.GetWriter();
158-
if (document.IsAppendMode()) {
159-
// Increment generation number for all freed references.
160-
foreach (int? objNr in freeReferences) {
161-
xref[(int)objNr].genNr++;
162-
}
163-
}
164-
else {
165-
foreach (int? objNr in freeReferences) {
166-
xref[(int)objNr] = null;
167-
}
157+
// Increment generation number for all freed references.
158+
foreach (int? objNr in freeReferences) {
159+
xref[(int)objNr].genNr++;
168160
}
169161
freeReferences.Clear();
170162
for (int i = count; i > 0; --i) {
@@ -187,8 +179,7 @@ protected internal virtual void WriteXrefTableAndTrailer(PdfDocument document, P
187179
for (int i = 1; i < Size(); i++) {
188180
PdfIndirectReference reference = xref[i];
189181
if (reference != null) {
190-
if ((document.properties.appendMode && !reference.CheckState(PdfObject.MODIFIED)) || (reference.IsFree() &&
191-
reference.GetGenNumber() == 0) || (!reference.CheckState(PdfObject.FLUSHED))) {
182+
if (document.properties.appendMode && !reference.CheckState(PdfObject.MODIFIED)) {
192183
reference = null;
193184
}
194185
}

port-hash

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
e9e3d2866e8024938a0d4adcb78a2d65c7a4c255
1+
31e6078b70a83542f4cbf63b465170f6198aebc4

0 commit comments

Comments
 (0)