calligra: rebuild against libpoppler 22.06.0

This commit is contained in:
oreo639 2022-03-25 18:33:32 -07:00 committed by Michal Vasilek
parent 3d6b6c6640
commit be30e58f98
6 changed files with 647 additions and 1 deletions

View File

@ -0,0 +1,440 @@
From 068cd9aec11052733e393976142516d2190e4564 Mon Sep 17 00:00:00 2001
From: Pierre Ducroquet <pinaraf@pinaraf.info>
Date: Sun, 28 Feb 2021 23:23:02 +0100
Subject: [PATCH] Fix some more warnings
---
filters/libmsooxml/MsooXmlDiagramReader_p.cpp | 1 +
filters/sheets/csv/csvimport.cc | 2 +-
filters/sheets/excel/sidewinder/excel.cpp | 1 +
filters/sheets/excel/sidewinder/formulas.cpp | 2 +-
filters/sheets/gnumeric/gnumericexport.cc | 5 ++---
filters/sheets/html/htmlexport.cc | 2 --
filters/sheets/latex/export/latexexport.cc | 1 -
filters/sheets/latex/export/table.cc | 1 +
filters/sheets/xlsx/XlsxXmlWorksheetReader.cpp | 1 -
filters/stage/pptx/PptxXmlDocumentReader.cpp | 2 +-
filters/words/msword-odf/texthandler.cpp | 2 ++
filters/words/msword-odf/wv2/src/parser9x.cpp | 4 +++-
filters/words/msword-odf/wv2/src/styles.cpp | 4 +---
filters/words/msword-odf/wv2/src/styles.h | 11 ++++++++---
gemini/lib/GeminiMainWindow.cpp | 2 ++
libs/pageapp/KoPAOdfPageSaveHelper.cpp | 2 +-
plugins/spacenavigator/SpaceNavigatorDevice.h | 6 ++----
plugins/spacenavigator/SpaceNavigatorEvent.h | 2 +-
plugins/spacenavigator/SpaceNavigatorPollingThread.h | 3 +--
plugins/vectorshape/VectorShape.cpp | 1 +
sheets/functions/datetime.cpp | 1 +
sheets/part/Digest.cpp | 8 ++++----
sheets/shape/TableToolFactory.h | 2 +-
sheets/tests/TestSort.cpp | 4 ++--
24 files changed, 38 insertions(+), 32 deletions(-)
diff --git a/filters/libmsooxml/MsooXmlDiagramReader_p.cpp b/filters/libmsooxml/MsooXmlDiagramReader_p.cpp
index 14b08531262..14fc6ab9a71 100644
--- a/filters/libmsooxml/MsooXmlDiagramReader_p.cpp
+++ b/filters/libmsooxml/MsooXmlDiagramReader_p.cpp
@@ -872,6 +872,7 @@ void LayoutNodeAtom::finishBuild(Context* context) {
case AlgorithmAtom::UnknownAlg:
warnMsooXml << "Layout with name=" << m_name << "defines an unknown algorithm.";
// fall through and use the composite-algorithm
+ // fall through
case AlgorithmAtom::CompositeAlg: m_algorithmImpl = new CompositeAlgorithm; break;
case AlgorithmAtom::ConnectorAlg: m_algorithmImpl = new ConnectorAlgorithm; break;
case AlgorithmAtom::CycleAlg: m_algorithmImpl = new CycleAlgorithm; break;
diff --git a/filters/sheets/csv/csvimport.cc b/filters/sheets/csv/csvimport.cc
index 89fb7162e00..1008d186f18 100644
--- a/filters/sheets/csv/csvimport.cc
+++ b/filters/sheets/csv/csvimport.cc
@@ -97,8 +97,8 @@ KoFilter::ConversionStatus CSVFilter::convert(const QByteArray& from, const QByt
return KoFilter::FileNotFound;
}
- QString csv_delimiter;
// ###### FIXME: disabled for now
+ //QString csv_delimiter;
//if (!config.isNull())
// csv_delimiter = config[0];
diff --git a/filters/sheets/excel/sidewinder/excel.cpp b/filters/sheets/excel/sidewinder/excel.cpp
index ab592225ca6..7fa5633d433 100644
--- a/filters/sheets/excel/sidewinder/excel.cpp
+++ b/filters/sheets/excel/sidewinder/excel.cpp
@@ -2449,6 +2449,7 @@ bool ExcelReader::load(Workbook* workbook, const char* filename)
} else {
bytes_read = combObjStream->read( buffer, markerOrLength );
QString ansiString = readByteString(buffer, markerOrLength);
+ Q_UNUSED(ansiString);
//TODO...
//printf( "markerOrLength=%i ansiString=%s\n",markerOrLength,ansiString.ascii() );
}
diff --git a/filters/sheets/excel/sidewinder/formulas.cpp b/filters/sheets/excel/sidewinder/formulas.cpp
index 62747469a49..0132d39e024 100644
--- a/filters/sheets/excel/sidewinder/formulas.cpp
+++ b/filters/sheets/excel/sidewinder/formulas.cpp
@@ -1513,7 +1513,7 @@ static void mergeTokens(UStringStack* stack, unsigned count, const QString &merg
if (!stack) return;
if (stack->size() < count) return;
- QString s1, s2;
+ QString s1;
while (count) {
count--;
diff --git a/filters/sheets/gnumeric/gnumericexport.cc b/filters/sheets/gnumeric/gnumericexport.cc
index 1256c68bc74..2468548edb3 100644
--- a/filters/sheets/gnumeric/gnumericexport.cc
+++ b/filters/sheets/gnumeric/gnumericexport.cc
@@ -1293,15 +1293,13 @@ KoFilter::ConversionStatus GNUMERICExport::convert(const QByteArray& from, const
i = 0;
}
- QString line;
for (int currentcolumn = 1; currentcolumn <= iMaxColumn; currentcolumn++) {
QDomElement cell_contents;
Cell cell(table, currentcolumn, currentrow);
- QString text, style;
+ QString text;
QDomDocument domLink;
QDomElement domRoot;
- QDomNode domNode;
QDomNodeList childNodes;
if (!cell.isDefault() && !cell.isEmpty()) {
@@ -1342,6 +1340,7 @@ KoFilter::ConversionStatus GNUMERICExport::convert(const QByteArray& from, const
text = domNode.toElement().text();
while (!domNode.isNull()) {
+ QString style;
style = domNode.toElement().tagName();
if (style == "b")
diff --git a/filters/sheets/html/htmlexport.cc b/filters/sheets/html/htmlexport.cc
index 2d116e0608c..bf41a6f743e 100644
--- a/filters/sheets/html/htmlexport.cc
+++ b/filters/sheets/html/htmlexport.cc
@@ -242,7 +242,6 @@ void HTMLExport::convertSheet(Sheet *sheet, QString &str, int iMaxUsedRow, int i
i = 0;
}
- QString separators;
QString line;
unsigned int nonempty_cells = 0;
@@ -435,7 +434,6 @@ void HTMLExport::detectFilledCells(Sheet *sheet, int &rows, int &columns)
int iUsedColumn = 0;
for (int currentcolumn = 1 ; currentcolumn <= iMaxColumn ; currentcolumn++) {
cell = Cell(sheet, currentcolumn, currentrow);
- QString text;
if (!cell.isDefault() && !cell.isEmpty()) {
iUsedColumn = currentcolumn;
}
diff --git a/filters/sheets/latex/export/latexexport.cc b/filters/sheets/latex/export/latexexport.cc
index 8d0698a3420..4f8caf235d9 100644
--- a/filters/sheets/latex/export/latexexport.cc
+++ b/filters/sheets/latex/export/latexexport.cc
@@ -38,7 +38,6 @@ LATEXExport::LATEXExport(QObject* parent, const QVariantList&) :
KoFilter::ConversionStatus LATEXExport::convert(const QByteArray& from, const QByteArray& to)
{
- QString config;
if (to != "text/x-tex" || from != "application/x-kspread")
return KoFilter::NotImplemented;
diff --git a/filters/sheets/latex/export/table.cc b/filters/sheets/latex/export/table.cc
index 8d8b6701a39..e58827dfbc7 100644
--- a/filters/sheets/latex/export/table.cc
+++ b/filters/sheets/latex/export/table.cc
@@ -118,6 +118,7 @@ void Table::analyzePaper(const QDomNode node)
/* borders */
QDomNode border = getChild(node, "borders");
+ Q_UNUSED(border);
setBorderRight(getAttr(node, "right").toLong());
setBorderLeft(getAttr(node, "left").toLong());
setBorderBottom(getAttr(node, "bottom").toLong());
diff --git a/filters/sheets/xlsx/XlsxXmlWorksheetReader.cpp b/filters/sheets/xlsx/XlsxXmlWorksheetReader.cpp
index 782a5914729..eda8ffc6b47 100644
--- a/filters/sheets/xlsx/XlsxXmlWorksheetReader.cpp
+++ b/filters/sheets/xlsx/XlsxXmlWorksheetReader.cpp
@@ -872,7 +872,6 @@ KoFilter::ConversionStatus XlsxXmlWorksheetReader::read_conditionalFormatting()
while (index < m_conditionalIndices.size()) {
QString conditionalArea;
Condition examinedCondition = m_conditionalIndices.at(index);
- QString sqrefOriginal = sqref;
int areaIndex = 0;
Condition previousCond;
diff --git a/filters/stage/pptx/PptxXmlDocumentReader.cpp b/filters/stage/pptx/PptxXmlDocumentReader.cpp
index 4cf86aea8c8..11b5ad266b9 100644
--- a/filters/stage/pptx/PptxXmlDocumentReader.cpp
+++ b/filters/stage/pptx/PptxXmlDocumentReader.cpp
@@ -316,7 +316,7 @@ KoFilter::ConversionStatus PptxXmlDocumentReader::read_sldId()
QString slideMasterPath, slideMasterFile;
MSOOXML::Utils::splitPathAndFile(m_context->relationships->targetForType(slidePath, slideFile, QLatin1String(MSOOXML::Schemas::officeDocument::relationships) + "/slideLayout"), &slideMasterPath, &slideMasterFile);
- const QString slideMasterPathAndFile = m_context->relationships->targetForType(slideMasterPath, slideMasterFile, QLatin1String(MSOOXML::Schemas::officeDocument::relationships) + "/slideMaster");
+ // const QString slideMasterPathAndFile = m_context->relationships->targetForType(slideMasterPath, slideMasterFile, QLatin1String(MSOOXML::Schemas::officeDocument::relationships) + "/slideMaster");
// Delay the reading of a tableStyle until we find a table as we need the
// clrMap from the master slide
diff --git a/filters/words/msword-odf/texthandler.cpp b/filters/words/msword-odf/texthandler.cpp
index e167d86e028..89ef678961a 100644
--- a/filters/words/msword-odf/texthandler.cpp
+++ b/filters/words/msword-odf/texthandler.cpp
@@ -408,6 +408,7 @@ void WordsTextHandler::footnoteFound(wvWare::FootnoteData data,
}
case msonfcUCLetter:
letter = 'A';
+ // fall through
case msonfcLCLetter:
{
while (noteNumber / 25 > 0) {
@@ -1064,6 +1065,7 @@ void WordsTextHandler::fieldStart(const wvWare::FLD* fld, wvWare::SharedPtr<cons
break;
case UNSUPPORTED:
warnMsDoc << "Warning: Fld data missing, ignoring!";
+ // fall through
default:
warnMsDoc << "Warning: unrecognized field type, ignoring!";
m_fld->m_type = UNSUPPORTED;
diff --git a/filters/words/msword-odf/wv2/src/parser9x.cpp b/filters/words/msword-odf/wv2/src/parser9x.cpp
index 9a6d1606ce9..e5d7d14691c 100644
--- a/filters/words/msword-odf/wv2/src/parser9x.cpp
+++ b/filters/words/msword-odf/wv2/src/parser9x.cpp
@@ -581,7 +581,8 @@ void Parser9x::processPiece( String* string, U32 fc, U32 limit, const Position&
// same ASCII code as TTP_MARK (0x0007), NOTE: table depth == 1
case CELL_MARK:
m_cellMarkFound = true;
- // Fall-through intended. A row/cell end is also a paragraph end.
+ // A row/cell end is also a paragraph end.
+ // fall through
case PARAGRAPH_MARK:
{
// No "index - start + 1" here, as we don't want to copy the
@@ -1064,6 +1065,7 @@ void Parser9x::emitSpecialCharacter( UChar character, U32 globalCP, SharedPtr<co
if (m_subDocument == Main) {
emitAnnotation( UString(character), globalCP, chp );
}
+ break;
}
case TextHandler::FieldEscapeChar:
wvlog << "Found an escape character ++++++++++++++++++++?" << endl;
diff --git a/filters/words/msword-odf/wv2/src/styles.cpp b/filters/words/msword-odf/wv2/src/styles.cpp
index f47c3dd8d51..d2c96e3d92b 100644
--- a/filters/words/msword-odf/wv2/src/styles.cpp
+++ b/filters/words/msword-odf/wv2/src/styles.cpp
@@ -42,7 +42,6 @@ STD::STD()
}
STD::STD( U16 baseSize, U16 totalSize, OLEStreamReader* stream, bool preservePos )
-throw(InvalidFormatException)
{
clearInternal();
if (!read( baseSize, totalSize, stream, preservePos )) {
@@ -112,7 +111,6 @@ STD& STD::operator=( const STD& rhs )
}
bool STD::read( const U16 cbStd, const U16 stdfSize, OLEStreamReader* stream, bool preservePos )
-throw(InvalidFormatException)
{
U16 shifterU16;
S32 startOffset=stream->tell(); // address where the STD starts
@@ -938,7 +936,7 @@ void Style::mergeUpechpx( const Style* parentStyle, WordVersion version )
}
-StyleSheet::StyleSheet( OLEStreamReader* tableStream, U32 fcStshf, U32 lcbStshf ) throw(InvalidFormatException)
+StyleSheet::StyleSheet( OLEStreamReader* tableStream, U32 fcStshf, U32 lcbStshf )
: m_udsNum(0)
{
WordVersion version = Word8;
diff --git a/filters/words/msword-odf/wv2/src/styles.h b/filters/words/msword-odf/wv2/src/styles.h
index ba02def6845..41c8278dd21 100644
--- a/filters/words/msword-odf/wv2/src/styles.h
+++ b/filters/words/msword-odf/wv2/src/styles.h
@@ -58,8 +58,9 @@ struct STD
STD();
/**
* Simply calls read(...)
+ * @throw InvalidFormatException
*/
- STD( U16 stdfSize, U16 totalSize, OLEStreamReader* stream, bool preservePos = false ) throw(InvalidFormatException);
+ STD( U16 stdfSize, U16 totalSize, OLEStreamReader* stream, bool preservePos = false );
/**
* Attention: This struct allocates memory on the heap
*/
@@ -74,8 +75,9 @@ struct STD
* false the state of stream will be changed!
*
* @return true - success, false - failed
+ * @throw InvalidFormatException
*/
- bool read( const U16 cbStd, const U16 stdfSize, OLEStreamReader* stream, bool preservePos = false ) throw(InvalidFormatException);
+ bool read( const U16 cbStd, const U16 stdfSize, OLEStreamReader* stream, bool preservePos = false );
/**
* Same as reading :)
@@ -365,7 +367,10 @@ class WV2_EXPORT Style
class WV2_EXPORT StyleSheet
{
public:
- StyleSheet( OLEStreamReader* tableStream, U32 fcStshf, U32 lcbStshf ) throw(InvalidFormatException);
+ /**
+ * @throw InvalidFormatException
+ */
+ StyleSheet( OLEStreamReader* tableStream, U32 fcStshf, U32 lcbStshf );
~StyleSheet();
/**
diff --git a/gemini/lib/GeminiMainWindow.cpp b/gemini/lib/GeminiMainWindow.cpp
index 3d05f6461e0..eb5f120c0f7 100644
--- a/gemini/lib/GeminiMainWindow.cpp
+++ b/gemini/lib/GeminiMainWindow.cpp
@@ -136,8 +136,10 @@ void GeminiMainWindow::setFullScreen(bool newState)
}
+
void GeminiMainWindow::changeState(GeminiMainWindow::GeminiState newState, bool lockNewState)
{
+ Q_UNUSED(lockNewState);
d->syncObject = new GeminiModeSynchronisationObject;
if(centralWidget()) {
diff --git a/libs/pageapp/KoPAOdfPageSaveHelper.cpp b/libs/pageapp/KoPAOdfPageSaveHelper.cpp
index 92c6dfd4cb4..068501c8af1 100644
--- a/libs/pageapp/KoPAOdfPageSaveHelper.cpp
+++ b/libs/pageapp/KoPAOdfPageSaveHelper.cpp
@@ -49,7 +49,7 @@ KoPAOdfPageSaveHelper::KoPAOdfPageSaveHelper( KoPADocument * doc, QList<KoPAPage
KoPAPage * p = static_cast<KoPAPage *>( page );
masterPages.insert( p->masterPage() );
}
- m_masterPages = masterPages.toList();
+ m_masterPages = masterPages.values();
}
}
diff --git a/plugins/spacenavigator/SpaceNavigatorDevice.h b/plugins/spacenavigator/SpaceNavigatorDevice.h
index b9056ac98c1..ecd696e415f 100644
--- a/plugins/spacenavigator/SpaceNavigatorDevice.h
+++ b/plugins/spacenavigator/SpaceNavigatorDevice.h
@@ -31,10 +31,8 @@ class SpaceNavigatorDevice : public KoInputDeviceHandler
explicit SpaceNavigatorDevice(QObject *parent);
virtual ~SpaceNavigatorDevice();
- /// reimplemented from KoInputDeviceHandler
- virtual bool start();
- /// reimplemented from KoInputDeviceHandler
- virtual bool stop();
+ virtual bool start() override;
+ virtual bool stop() override;
private Q_SLOTS:
void slotMoveEvent( int x, int y, int z, int rx, int ry, int rz, Qt::MouseButtons );
void slotButtonEvent( int x, int y, int z, int rx, int ry, int rz, Qt::MouseButtons, Qt::MouseButton, int type );
diff --git a/plugins/spacenavigator/SpaceNavigatorEvent.h b/plugins/spacenavigator/SpaceNavigatorEvent.h
index 73751ec88ff..76ee8e2f880 100644
--- a/plugins/spacenavigator/SpaceNavigatorEvent.h
+++ b/plugins/spacenavigator/SpaceNavigatorEvent.h
@@ -33,7 +33,7 @@ class SpaceNavigatorEvent : public KoInputDeviceHandlerEvent
void setPosition( int x, int y, int z );
void setRotation( int rx, int ry, int rz );
- virtual KoPointerEvent * pointerEvent();
+ virtual KoPointerEvent * pointerEvent() override;
private:
int m_x, m_y, m_z;
diff --git a/plugins/spacenavigator/SpaceNavigatorPollingThread.h b/plugins/spacenavigator/SpaceNavigatorPollingThread.h
index 62c4de8ab73..67d59177021 100644
--- a/plugins/spacenavigator/SpaceNavigatorPollingThread.h
+++ b/plugins/spacenavigator/SpaceNavigatorPollingThread.h
@@ -39,8 +39,7 @@ class SpaceNavigatorPollingThread : public QThread
protected:
- /// reimplemented from QThread
- virtual void run();
+ virtual void run() override;
private:
bool m_stopped;
diff --git a/plugins/vectorshape/VectorShape.cpp b/plugins/vectorshape/VectorShape.cpp
index a25ab3fc561..9acbd251c94 100644
--- a/plugins/vectorshape/VectorShape.cpp
+++ b/plugins/vectorshape/VectorShape.cpp
@@ -294,6 +294,7 @@ void VectorShape::saveOdf(KoShapeSavingContext & context) const
break;
case VectorTypeSvg:
mimeType = "image/svg+xml";
+ break;
default:
// FIXME: What here?
mimeType = "application/x-what";
diff --git a/sheets/functions/datetime.cpp b/sheets/functions/datetime.cpp
index 9f59fe2cf75..6157b0996c1 100644
--- a/sheets/functions/datetime.cpp
+++ b/sheets/functions/datetime.cpp
@@ -597,6 +597,7 @@ Value func_currentDate(valVector, ValueCalc * calc, FuncExtra *)
// Function: CURRENTTIME
Value func_currentTime(valVector, ValueCalc * calc, FuncExtra *)
{
+ Q_UNUSED(calc);
return Value(QTime::currentTime());
}
diff --git a/sheets/part/Digest.cpp b/sheets/part/Digest.cpp
index 8cd972db989..e9246ce6e7d 100644
--- a/sheets/part/Digest.cpp
+++ b/sheets/part/Digest.cpp
@@ -596,10 +596,10 @@ static void __rtl_digest_endSHA(DigestContextSHA *ctx)
}
switch (ctx->m_nDatLen & 0x03) {
- case 0: X[i] = ((sal_uInt32)(*(p++))) << 0L;
- case 1: X[i] |= ((sal_uInt32)(*(p++))) << 8L;
- case 2: X[i] |= ((sal_uInt32)(*(p++))) << 16L;
- case 3: X[i] |= ((sal_uInt32)(*(p++))) << 24L;
+ case 0: X[i] = ((sal_uInt32)(*(p++))) << 0L; /* fall through */
+ case 1: X[i] |= ((sal_uInt32)(*(p++))) << 8L; /* fall through */
+ case 2: X[i] |= ((sal_uInt32)(*(p++))) << 16L; /* fall through */
+ case 3: X[i] |= ((sal_uInt32)(*(p++))) << 24L; /* fall through */
}
__rtl_digest_swapLong(X, i + 1);
diff --git a/sheets/shape/TableToolFactory.h b/sheets/shape/TableToolFactory.h
index 679bfe14b8e..9412d8ffdc5 100644
--- a/sheets/shape/TableToolFactory.h
+++ b/sheets/shape/TableToolFactory.h
@@ -34,7 +34,7 @@ class TableToolFactory : public KoToolFactoryBase
TableToolFactory();
~TableToolFactory();
- KoToolBase* createTool(KoCanvasBase* canvas);
+ KoToolBase* createTool(KoCanvasBase* canvas) override;
};
} // namespace Sheets
diff --git a/sheets/tests/TestSort.cpp b/sheets/tests/TestSort.cpp
index b3f1e35169d..6354d79abc5 100644
--- a/sheets/tests/TestSort.cpp
+++ b/sheets/tests/TestSort.cpp
@@ -68,7 +68,7 @@ void TestSort::AscendingOrder()
command->setSheet(sheet);
// Parameters.
- command->setSortRows(Qt::Vertical);
+ command->setSortRows(true);
command->setSkipFirst(false);
command->setCopyFormat(false);
@@ -121,7 +121,7 @@ void TestSort::DescendingOrder()
command->setSheet(sheet);
// Parameters.
- command->setSortRows(Qt::Vertical);
+ command->setSortRows(true);
command->setSkipFirst(false);
command->setCopyFormat(false);

View File

@ -0,0 +1,29 @@
From 22e02998dec8af15a25b7e8e3d53c174810cc3be Mon Sep 17 00:00:00 2001
From: Dag Andersen <danders@get2net.dk>
Date: Thu, 11 Jun 2020 10:43:38 +0200
Subject: [PATCH] Make show hidden row(s) work
Check for hidden rows was inverted to check for shown rows,
hence hidden rows would never be unhidden.
BUG:338816
BUG:354236
FIXED-IN:3.2.2
(cherry picked from commit 28920c50e6300d643477f256aba91c8c51836682)
---
sheets/commands/RowColumnManipulators.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sheets/commands/RowColumnManipulators.cpp b/sheets/commands/RowColumnManipulators.cpp
index 95282d6e31b..25e8c454e27 100644
--- a/sheets/commands/RowColumnManipulators.cpp
+++ b/sheets/commands/RowColumnManipulators.cpp
@@ -192,7 +192,7 @@ bool HideShowManipulator::preProcessing()
}
}
for (int row = range.top(); row <= range.bottom(); ++row) {
- if (!m_sheet->rowFormats()->isHidden(row)) {
+ if (m_sheet->rowFormats()->isHidden(row)) {
region.add(QRect(1, row, KS_colMax, 1));
}
}

View File

@ -0,0 +1,16 @@
diff -Naur CMakeLists.txt.orig CMakeLists.txt
--- a/CMakeLists.txt.orig
+++ b/CMakeLists.txt
@@ -106,9 +106,9 @@
# use CPP-11
if (CMAKE_VERSION VERSION_LESS "3.1")
- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
else ()
- set (CMAKE_CXX_STANDARD 11)
+ set (CMAKE_CXX_STANDARD 17)
endif ()
############

View File

@ -0,0 +1,70 @@
From 236bacbe13739414e919de868283b0caf2df5d8a Mon Sep 17 00:00:00 2001
From: Albert Astals Cid <aacid@kde.org>
Date: Wed, 13 Apr 2022 01:25:44 +0200
Subject: [PATCH] PdfImport: Fix compile with newer poppler
Brings a dependency on poppler-qt5 to be able to include the version
header, honestly it's not strictly needed, one could do a
check_cxx_source_compiles, but I don't care about Calligra enough to
spend more time making it compile while it's using poppler the wrong
way.
---
CMakeLists.txt | 1 +
filters/karbon/pdf/CMakeLists.txt | 2 +-
filters/karbon/pdf/PdfImport.cpp | 9 +++++++++
3 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 51f1d65b8e6..06bbad5c24c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -952,6 +952,7 @@ calligra_drop_product_on_bad_condition( FILTER_WPG_TO_ODG
calligra_drop_product_on_bad_condition( FILTER_PDF_TO_SVG
NOT_WIN "not supported on Windows"
PopplerXPDFHeaders_FOUND "poppler xpdf headers not found"
+ Poppler_FOUND "poppler qt5 headers not found"
)
calligra_drop_product_on_bad_condition( FILTER_HTML_TO_ODS
diff --git a/filters/karbon/pdf/CMakeLists.txt b/filters/karbon/pdf/CMakeLists.txt
index 8fddf1ad757..b71c92cbf04 100644
--- a/filters/karbon/pdf/CMakeLists.txt
+++ b/filters/karbon/pdf/CMakeLists.txt
@@ -3,7 +3,7 @@ set(pdf2svg_PART_SRCS PdfImportDebug.cpp PdfImport.cpp SvgOutputDev.cpp )
add_library(calligra_filter_pdf2svg MODULE ${pdf2svg_PART_SRCS})
calligra_filter_desktop_to_json(calligra_filter_pdf2svg calligra_filter_pdf2svg.desktop)
-target_link_libraries(calligra_filter_pdf2svg komain Poppler::Core)
+target_link_libraries(calligra_filter_pdf2svg komain Poppler::Core Poppler::Qt5)
install(TARGETS calligra_filter_pdf2svg DESTINATION ${PLUGIN_INSTALL_DIR}/calligra/formatfilters)
diff --git a/filters/karbon/pdf/PdfImport.cpp b/filters/karbon/pdf/PdfImport.cpp
index abbe681b4e8..e97974fc133 100644
--- a/filters/karbon/pdf/PdfImport.cpp
+++ b/filters/karbon/pdf/PdfImport.cpp
@@ -17,6 +17,10 @@
#include <kpluginfactory.h>
+#include <poppler-version.h>
+
+#define POPPLER_VERSION_MACRO ((POPPLER_VERSION_MAJOR << 16) | (POPPLER_VERSION_MINOR << 8) | (POPPLER_VERSION_MICRO))
+
// Don't show this warning: it's an issue in poppler
#ifdef __GNUC__
#pragma GCC diagnostic ignored "-Wunused-parameter"
@@ -54,8 +58,13 @@ KoFilter::ConversionStatus PdfImport::convert(const QByteArray& from, const QByt
if (! globalParams)
return KoFilter::NotImplemented;
+#if POPPLER_VERSION_MACRO < QT_VERSION_CHECK(22, 03, 0)
GooString * fname = new GooString(QFile::encodeName(m_chain->inputFile()).data());
PDFDoc * pdfDoc = new PDFDoc(fname, 0, 0, 0);
+#else
+ std::unique_ptr<GooString> fname = std::make_unique<GooString>(QFile::encodeName(m_chain->inputFile()).data());
+ PDFDoc * pdfDoc = new PDFDoc(std::move(fname));
+#endif
if (! pdfDoc) {
globalParams.reset();
return KoFilter::StupidError;

View File

@ -0,0 +1,91 @@
From 6b75bec784c9835c78993349845d8c2ef22ec3de Mon Sep 17 00:00:00 2001
From: Dag Andersen <dag.andersen@kdemail.net>
Date: Wed, 13 Apr 2022 14:45:33 +0200
Subject: [PATCH] PdfImport: Fix compile with newer poppler
Also fixes odg2pdf filter.
Same solution as commit 236bacbe13739414e919de868283b0caf2df5d8a
by accid@kde.org.
---
filters/karbon/pdf/CMakeLists.txt | 2 +-
filters/karbon/pdf/Pdf2OdgImport.cpp | 9 +++++++++
filters/karbon/pdf/SvgOutputDev.cpp | 9 +++++++++
3 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/filters/karbon/pdf/CMakeLists.txt b/filters/karbon/pdf/CMakeLists.txt
index b71c92cbf04..4ce138ccdd6 100644
--- a/filters/karbon/pdf/CMakeLists.txt
+++ b/filters/karbon/pdf/CMakeLists.txt
@@ -13,6 +13,6 @@ set(pdf2odg_PART_SRCS PdfImportDebug.cpp Pdf2OdgImport.cpp SvgOutputDev.cpp)
add_library(calligra_filter_pdf2odg MODULE ${pdf2odg_PART_SRCS})
calligra_filter_desktop_to_json(calligra_filter_pdf2odg calligra_filter_pdf2odg.desktop)
-target_link_libraries(calligra_filter_pdf2odg kopageapp karbonui Poppler::Core)
+target_link_libraries(calligra_filter_pdf2odg kopageapp karbonui Poppler::Core Poppler::Qt5)
install(TARGETS calligra_filter_pdf2odg DESTINATION ${PLUGIN_INSTALL_DIR}/calligra/formatfilters)
diff --git a/filters/karbon/pdf/Pdf2OdgImport.cpp b/filters/karbon/pdf/Pdf2OdgImport.cpp
index 934e31dd5aa..a21eac97a77 100644
--- a/filters/karbon/pdf/Pdf2OdgImport.cpp
+++ b/filters/karbon/pdf/Pdf2OdgImport.cpp
@@ -27,6 +27,8 @@
#include <kpluginfactory.h>
+#include <poppler-version.h>
+
// Don't show this warning: it's an issue in poppler
#ifdef __GNUC__
#pragma GCC diagnostic ignored "-Wunused-parameter"
@@ -36,6 +38,8 @@
#include <PDFDoc.h>
#include <GlobalParams.h>
+#define POPPLER_VERSION_MACRO ((POPPLER_VERSION_MAJOR << 16) | (POPPLER_VERSION_MINOR << 8) | (POPPLER_VERSION_MICRO))
+
K_PLUGIN_FACTORY_WITH_JSON(Pdf2OdgImportFactory, "calligra_filter_pdf2odg.json",
registerPlugin<Pdf2OdgImport>();)
@@ -69,8 +73,13 @@ KoFilter::ConversionStatus Pdf2OdgImport::convert(const QByteArray& from, const
if (! globalParams)
return KoFilter::NotImplemented;
+#if POPPLER_VERSION_MACRO < QT_VERSION_CHECK(22, 03, 0)
GooString * fname = new GooString(QFile::encodeName(m_chain->inputFile()).data());
PDFDoc * pdfDoc = new PDFDoc(fname, 0, 0, 0);
+#else
+ std::unique_ptr<GooString> fname = std::make_unique<GooString>(QFile::encodeName(m_chain->inputFile()).data());
+ PDFDoc * pdfDoc = new PDFDoc(std::move(fname));
+#endif
if (! pdfDoc) {
globalParams.reset();
return KoFilter::StupidError;
diff --git a/filters/karbon/pdf/SvgOutputDev.cpp b/filters/karbon/pdf/SvgOutputDev.cpp
index 0e6e5a934ca..7caec15175a 100644
--- a/filters/karbon/pdf/SvgOutputDev.cpp
+++ b/filters/karbon/pdf/SvgOutputDev.cpp
@@ -22,6 +22,10 @@
#include <QPen>
#include <QImage>
+#include <poppler-version.h>
+
+#define POPPLER_VERSION_MACRO ((POPPLER_VERSION_MAJOR << 16) | (POPPLER_VERSION_MINOR << 8) | (POPPLER_VERSION_MICRO))
+
class SvgOutputDev::Private
{
public:
@@ -386,7 +390,12 @@ void SvgOutputDev::drawString(GfxState * state, const GooString * s)
if (s->getLength() == 0)
return;
+#if POPPLER_VERSION_MACRO < QT_VERSION_CHECK(22, 03, 0)
GfxFont * font = state->getFont();
+#else
+ std::shared_ptr<GfxFont> font = state->getFont();
+#endif
+
QString str;

View File

@ -1,7 +1,7 @@
# Template file for 'calligra'
pkgname=calligra
version=3.2.1
revision=7
revision=8
build_style=cmake
configure_args="-Wno-dev -DCALLIGRA_SHOULD_BUILD_UNMAINTAINED=ON
-DBUILD_TESTING=OFF"