summaryrefslogtreecommitdiff
path: root/app-office/libreoffice/files/libreoffice-25.2.7.2-poppler-26.02.patch
blob: 66d56a86ca3e46c6e5080ffe90224c1d05144463 (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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
From 3c29b709cd2b5b18776b3c15638b66bd8a7dcb07 Mon Sep 17 00:00:00 2001
From: Xisco Fauli <xiscofauli@libreoffice.org>
Date: Fri, 6 Feb 2026 00:53:12 +0100
Subject: [PATCH] poppler: upgrade to 26.02.0

stripped of all the bundled update stuff ...

---
 .../pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx  | 22 +++++++++-
 .../pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx  | 21 +++++++++-
 2 files changed, 41 insertions(+), 2 deletions(-)

diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
index 6b9184809803d..f1487453eb503 100644
--- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
+++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
@@ -711,13 +711,17 @@ void PDFOutDev::restoreState(GfxState*)
     printf( "restoreState\n" );
 }
 
-#if POPPLER_CHECK_VERSION(0, 71, 0)
+#if POPPLER_CHECK_VERSION(26, 2, 0)
+void PDFOutDev::setDefaultCTM(const std::array<double, 6> &pMat)
+#elif POPPLER_CHECK_VERSION(0, 71, 0)
 void PDFOutDev::setDefaultCTM(const double *pMat)
 #else
 void PDFOutDev::setDefaultCTM(double *pMat)
 #endif
 {
+#if !POPPLER_CHECK_VERSION(26, 2, 0)
     assert(pMat);
+#endif
 
     OutputDev::setDefaultCTM(pMat);
 
@@ -737,8 +741,12 @@ void PDFOutDev::updateCTM(GfxState* state,
 {
     assert(state);
 
+#if POPPLER_CHECK_VERSION(26, 2, 0)
+    const std::array<double, 6> pMat = state->getCTM();
+#else
     const double* const pMat = state->getCTM();
     assert(pMat);
+#endif
 
     printf( "updateCtm %f %f %f %f %f %f\n",
             normalize(pMat[0]),
@@ -1044,7 +1052,11 @@ void PDFOutDev::drawChar(GfxState *state, double x, double y,
 
     double csdx = 0.0;
     double csdy = 0.0;
+#if POPPLER_CHECK_VERSION(26, 2, 0)
+    if (!state->getFont() || GfxFont::WritingMode::Horizontal == state->getFont()->getWMode())
+#else
     if (!state->getFont() || !state->getFont()->getWMode())
+#endif
     {
         csdx = state->getCharSpace();
         if (*u == ' ')
@@ -1067,7 +1079,11 @@ void PDFOutDev::drawChar(GfxState *state, double x, double y,
     const double aPositionX(x-originX);
     const double aPositionY(y-originY);
 
+#if POPPLER_CHECK_VERSION(26, 2, 0)
+    const std::array<double, 6> pTextMat=state->getTextMat();
+#else
     const double* pTextMat=state->getTextMat();
+#endif
     printf( "drawChar %f %f %f %f %f %f %f %f %f ",
             normalize(aPositionX),
             normalize(aPositionY),
@@ -1348,7 +1364,11 @@ poppler_bool PDFOutDev::tilingPatternFill(GfxState *state, Gfx *, Catalog *,
 
     const int nDPI = 72; // GfxState seems to have 72.0 as magic for some reason
     auto pSplashGfxState = new GfxState(nDPI, nDPI, &aBox, 0, false);
+#if POPPLER_CHECK_VERSION(26, 2, 0)
+    auto pSplashOut = new SplashOutputDev(splashModeRGB8, 1, nullptr);
+#else
     auto pSplashOut = new SplashOutputDev(splashModeRGB8, 1, false, nullptr);
+#endif
     pSplashOut->setEnableFreeType(false);
     pSplashOut->startDoc(m_pDoc);
     pSplashOut->startPage(0 /* pageNum */, pSplashGfxState, nullptr /* xref */);
diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
index b7bd912406b58..da587b1522d61 100644
--- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
+++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
@@ -85,13 +85,21 @@ namespace pdfi
             isUnderline(rSrc.isUnderline),
             size(rSrc.size)
         {
+#if POPPLER_CHECK_VERSION(26, 2, 0)
+            familyName.append(rSrc.getFamilyName());
+#else
             familyName.append(&rSrc.getFamilyName());
+#endif
         }
 
         FontAttributes& operator=( const FontAttributes& rSrc )
         {
             familyName.clear();
+#if POPPLER_CHECK_VERSION(26, 2, 0)
+            familyName.append(rSrc.getFamilyName());
+#else
             familyName.append(&rSrc.getFamilyName());
+#endif
 
             isEmbedded  = rSrc.isEmbedded;
             maFontWeight= rSrc.maFontWeight;
@@ -104,12 +112,21 @@ namespace pdfi
 
         bool operator==(const FontAttributes& rFont) const
         {
+#if POPPLER_CHECK_VERSION(26, 2, 0)
+            return getFamilyName().compare(rFont.getFamilyName())==0 &&
+                isEmbedded == rFont.isEmbedded &&
+                maFontWeight == rFont.maFontWeight &&
+                isItalic == rFont.isItalic &&
+                isUnderline == rFont.isUnderline &&
+                size == rFont.size;
+#else
             return getFamilyName().cmp(&rFont.getFamilyName())==0 &&
                 isEmbedded == rFont.isEmbedded &&
                 maFontWeight == rFont.maFontWeight &&
                 isItalic == rFont.isItalic &&
                 isUnderline == rFont.isUnderline &&
                 size == rFont.size;
+#endif
         }
 
         GooString   familyName;
@@ -172,7 +189,9 @@ namespace pdfi
         //----- initialization and control
 
         // Set default transform matrix.
-#if POPPLER_CHECK_VERSION(0, 71, 0)
+#if POPPLER_CHECK_VERSION(26, 2, 0)
+void setDefaultCTM(const std::array<double, 6> &pMat) override;
+#elif POPPLER_CHECK_VERSION(0, 71, 0)
         virtual void setDefaultCTM(const double *ctm) override;
 #else
         virtual void setDefaultCTM(double *ctm) override;