Accepting request 789678 from home:marxin:branches:LibreOffice:Factory
- Add replace-boost-bimap-in-sdext-pdfimport.patch and adapt-o3tl-span-to-removal-of-std-span-cbegin-et-al.patch in order to fix boo#1167463. OBS-URL: https://build.opensuse.org/request/show/789678 OBS-URL: https://build.opensuse.org/package/show/LibreOffice:Factory/libreoffice?expand=0&rev=871
This commit is contained in:
parent
f67626654b
commit
6b2d45eeaf
68
adapt-o3tl-span-to-removal-of-std-span-cbegin-et-al.patch
Normal file
68
adapt-o3tl-span-to-removal-of-std-span-cbegin-et-al.patch
Normal file
@ -0,0 +1,68 @@
|
||||
From 6fbfad6b00e8c35346ee59cd32a0d7ccc0d8c19c Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Bergmann <sbergman@redhat.com>
|
||||
Date: Sat, 22 Feb 2020 17:29:15 +0100
|
||||
Subject: [PATCH] Adapt o3tl::span to removal of std::span::cbegin et al
|
||||
|
||||
<https://cplusplus.github.io/LWG/issue3320> "span::cbegin/cend methods produce
|
||||
different results than std::[ranges::]cbegin/cend", as implemented now in
|
||||
<https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;a=commit;
|
||||
h=247f410b83797a1840573840cc2a539ef9d7f96b> "libstdc++: Remove std::span::cbegin
|
||||
and std::span::cend (LWG 3320)".
|
||||
|
||||
Turns out we only used the removed member functions in o3tl/qa/test-span.cxx.
|
||||
|
||||
Change-Id: I6c73797594b4e0e753a88840033d54961e271df5
|
||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89261
|
||||
Tested-by: Jenkins
|
||||
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
||||
---
|
||||
include/o3tl/span.hxx | 7 -------
|
||||
o3tl/qa/test-span.cxx | 6 ------
|
||||
2 files changed, 13 deletions(-)
|
||||
|
||||
diff --git a/include/o3tl/span.hxx b/include/o3tl/span.hxx
|
||||
index b19d2d847ac7..8af8ba846b65 100644
|
||||
--- a/include/o3tl/span.hxx
|
||||
+++ b/include/o3tl/span.hxx
|
||||
@@ -62,18 +62,11 @@ public:
|
||||
constexpr iterator begin() const noexcept { return data_; }
|
||||
constexpr iterator end() const noexcept { return begin() + size(); }
|
||||
|
||||
- constexpr const_iterator cbegin() const noexcept { return begin(); }
|
||||
- constexpr const_iterator cend() const noexcept { return end(); }
|
||||
-
|
||||
reverse_iterator rbegin() const noexcept
|
||||
{ return reverse_iterator(end()); }
|
||||
reverse_iterator rend() const noexcept
|
||||
{ return reverse_iterator(begin()); }
|
||||
|
||||
- constexpr const_reverse_iterator crbegin() const noexcept
|
||||
- { return rbegin(); }
|
||||
- constexpr const_reverse_iterator crend() const noexcept { return rend(); }
|
||||
-
|
||||
constexpr size_type size() const noexcept { return size_; }
|
||||
|
||||
constexpr reference operator [](size_type pos) const {
|
||||
diff --git a/o3tl/qa/test-span.cxx b/o3tl/qa/test-span.cxx
|
||||
index 3cb78ace1db2..26eedfc21938 100644
|
||||
--- a/o3tl/qa/test-span.cxx
|
||||
+++ b/o3tl/qa/test-span.cxx
|
||||
@@ -34,15 +34,9 @@ private:
|
||||
CPPUNIT_ASSERT_EQUAL(1, *v.begin());
|
||||
CPPUNIT_ASSERT_EQUAL(
|
||||
o3tl::span<int>::difference_type(3), v.end() - v.begin());
|
||||
- CPPUNIT_ASSERT_EQUAL(1, *v.cbegin());
|
||||
- CPPUNIT_ASSERT_EQUAL(
|
||||
- o3tl::span<int>::difference_type(3), v.cend() - v.cbegin());
|
||||
CPPUNIT_ASSERT_EQUAL(3, *v.rbegin());
|
||||
CPPUNIT_ASSERT_EQUAL(
|
||||
o3tl::span<int>::difference_type(3), v.rend() - v.rbegin());
|
||||
- CPPUNIT_ASSERT_EQUAL(3, *v.crbegin());
|
||||
- CPPUNIT_ASSERT_EQUAL(
|
||||
- o3tl::span<int>::difference_type(3), v.crend() - v.crbegin());
|
||||
CPPUNIT_ASSERT_EQUAL(std::size_t(3), v.size());
|
||||
CPPUNIT_ASSERT(!v.empty());
|
||||
CPPUNIT_ASSERT_EQUAL(2, v[1]);
|
||||
--
|
||||
2.24.1
|
||||
|
@ -1,3 +1,10 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 30 08:41:19 UTC 2020 - Martin Liška <mliska@suse.cz>
|
||||
|
||||
- Add replace-boost-bimap-in-sdext-pdfimport.patch and
|
||||
adapt-o3tl-span-to-removal-of-std-span-cbegin-et-al.patch
|
||||
in order to fix boo#1167463.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 27 12:04:43 UTC 2020 - Michael Gorse <mgorse@suse.com>
|
||||
|
||||
|
@ -100,6 +100,8 @@ Patch2: nlpsolver-no-broken-help.diff
|
||||
Patch3: mediawiki-no-broken-help.diff
|
||||
Patch6: fix_old_boost_spirit_namespace.patch
|
||||
Patch7: poppler-0.86.patch
|
||||
Patch8: replace-boost-bimap-in-sdext-pdfimport.patch
|
||||
Patch9: adapt-o3tl-span-to-removal-of-std-span-cbegin-et-al.patch
|
||||
# try to save space by using hardlinks
|
||||
Patch990: install-with-hardlinks.diff
|
||||
# save time by relying on rpm check rather than doing stupid find+grep
|
||||
@ -957,6 +959,8 @@ Provides %{langname} translations and additional resources (help files, etc.) fo
|
||||
%patch3
|
||||
%patch6 -p1
|
||||
%patch7 -p1
|
||||
%patch8 -p1
|
||||
%patch9 -p1
|
||||
%patch990 -p1
|
||||
%patch991 -p1
|
||||
|
||||
|
110
replace-boost-bimap-in-sdext-pdfimport.patch
Normal file
110
replace-boost-bimap-in-sdext-pdfimport.patch
Normal file
@ -0,0 +1,110 @@
|
||||
From 193b49763a03d63ba79db50c1fa0563ec0d6b0c3 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Wed, 29 Jan 2020 12:44:52 +0000
|
||||
Subject: [PATCH] replace boost::bimap in sdext pdfimport
|
||||
|
||||
Change-Id: Ie324a0b81931bbd427483878a87beeca455ada18
|
||||
---
|
||||
sdext/source/pdfimport/inc/pdfiprocessor.hxx | 12 ++++-------
|
||||
sdext/source/pdfimport/tree/pdfiprocessor.cxx | 21 +++++++++++--------
|
||||
2 files changed, 16 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/sdext/source/pdfimport/inc/pdfiprocessor.hxx b/sdext/source/pdfimport/inc/pdfiprocessor.hxx
|
||||
index 89f9d601b7b0..9e08d6a6a765 100644
|
||||
--- a/sdext/source/pdfimport/inc/pdfiprocessor.hxx
|
||||
+++ b/sdext/source/pdfimport/inc/pdfiprocessor.hxx
|
||||
@@ -37,9 +37,6 @@
|
||||
#include "treevisitorfactory.hxx"
|
||||
#include "genericelements.hxx"
|
||||
|
||||
-#include <boost/bimap/bimap.hpp>
|
||||
-#include <boost/bimap/unordered_set_of.hpp>
|
||||
-
|
||||
namespace pdfi
|
||||
{
|
||||
|
||||
@@ -160,10 +157,8 @@ namespace pdfi
|
||||
typedef std::unordered_map<sal_Int32,FontAttributes> IdToFontMap;
|
||||
typedef std::unordered_map<FontAttributes,sal_Int32,FontAttrHash> FontToIdMap;
|
||||
|
||||
- typedef boost::bimaps::bimap<
|
||||
- boost::bimaps::unordered_set_of<GraphicsContext, GraphicsContextHash>,
|
||||
- boost::bimaps::unordered_set_of<sal_Int32>
|
||||
- > GCToIdBiMap;
|
||||
+ typedef std::unordered_map<sal_Int32,GraphicsContext> IdToGCMap;
|
||||
+ typedef std::unordered_map<GraphicsContext, sal_Int32, GraphicsContextHash> GCToIdMap;
|
||||
|
||||
typedef std::vector<GraphicsContext> GraphicsContextStack;
|
||||
|
||||
@@ -178,7 +173,8 @@ namespace pdfi
|
||||
|
||||
GraphicsContextStack m_aGCStack;
|
||||
sal_Int32 m_nNextGCId;
|
||||
- GCToIdBiMap m_aGCToId;
|
||||
+ IdToGCMap m_aIdToGC;
|
||||
+ GCToIdMap m_aGCToId;
|
||||
|
||||
ImageContainer m_aImages;
|
||||
|
||||
diff --git a/sdext/source/pdfimport/tree/pdfiprocessor.cxx b/sdext/source/pdfimport/tree/pdfiprocessor.cxx
|
||||
index c6baa7fee8b2..ed2eaf6510b9 100644
|
||||
--- a/sdext/source/pdfimport/tree/pdfiprocessor.cxx
|
||||
+++ b/sdext/source/pdfimport/tree/pdfiprocessor.cxx
|
||||
@@ -54,6 +54,7 @@ namespace pdfi
|
||||
m_aFontToId(),
|
||||
m_aGCStack(),
|
||||
m_nNextGCId( 1 ),
|
||||
+ m_aIdToGC(),
|
||||
m_aGCToId(),
|
||||
m_aImages(),
|
||||
m_nPages(0),
|
||||
@@ -65,12 +66,13 @@ namespace pdfi
|
||||
aDefFont.isBold = false;
|
||||
aDefFont.isItalic = false;
|
||||
aDefFont.size = 10*PDFI_OUTDEV_RESOLUTION/72;
|
||||
- m_aIdToFont[ 0 ] = aDefFont;
|
||||
- m_aFontToId[ aDefFont ] = 0;
|
||||
+ m_aIdToFont.insert({0, aDefFont});
|
||||
+ m_aFontToId.insert({aDefFont, 0});
|
||||
|
||||
GraphicsContext aDefGC;
|
||||
m_aGCStack.push_back( aDefGC );
|
||||
- m_aGCToId.insert(GCToIdBiMap::relation(aDefGC, 0));
|
||||
+ m_aGCToId.insert({aDefGC, 0});
|
||||
+ m_aIdToGC.insert({0, aDefGC});
|
||||
}
|
||||
|
||||
void PDFIProcessor::setPageNum( sal_Int32 nPages )
|
||||
@@ -468,12 +470,13 @@ const FontAttributes& PDFIProcessor::getFont( sal_Int32 nFontId ) const
|
||||
sal_Int32 PDFIProcessor::getGCId( const GraphicsContext& rGC )
|
||||
{
|
||||
sal_Int32 nGCId = 0;
|
||||
- auto it = m_aGCToId.left.find( rGC );
|
||||
- if( it != m_aGCToId.left.end() )
|
||||
+ auto it = m_aGCToId.find( rGC );
|
||||
+ if( it != m_aGCToId.end() )
|
||||
nGCId = it->second;
|
||||
else
|
||||
{
|
||||
- m_aGCToId.insert(GCToIdBiMap::relation(rGC, m_nNextGCId));
|
||||
+ m_aGCToId.insert({rGC, m_nNextGCId});
|
||||
+ m_aIdToGC.insert({m_nNextGCId, rGC});
|
||||
nGCId = m_nNextGCId;
|
||||
m_nNextGCId++;
|
||||
}
|
||||
@@ -483,9 +486,9 @@ sal_Int32 PDFIProcessor::getGCId( const GraphicsContext& rGC )
|
||||
|
||||
const GraphicsContext& PDFIProcessor::getGraphicsContext( sal_Int32 nGCId ) const
|
||||
{
|
||||
- auto it = m_aGCToId.right.find( nGCId );
|
||||
- if( it == m_aGCToId.right.end() )
|
||||
- it = m_aGCToId.right.find( 0 );
|
||||
+ auto it = m_aIdToGC.find( nGCId );
|
||||
+ if( it == m_aIdToGC.end() )
|
||||
+ it = m_aIdToGC.find( 0 );
|
||||
return it->second;
|
||||
}
|
||||
|
||||
--
|
||||
2.24.1
|
||||
|
Loading…
x
Reference in New Issue
Block a user