- Add one more patch for the old boost:

* old-boost2.patch

OBS-URL: https://build.opensuse.org/package/show/LibreOffice:Factory/libreoffice?expand=0&rev=817
This commit is contained in:
Tomáš Chvátal 2019-08-23 07:36:43 +00:00 committed by Git OBS Bridge
parent 504e5c4a86
commit 19c487de72
3 changed files with 87 additions and 0 deletions

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Fri Aug 23 07:36:16 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Add one more patch for the old boost:
* old-boost2.patch
-------------------------------------------------------------------
Tue Aug 20 10:27:08 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>

View File

@ -104,6 +104,7 @@ Patch4: gcc.patch
Patch5: mdds-1-5.patch
Patch6: 0001-Fix-buidling-with-older-boost.patch
Patch7: old-boost.patch
Patch8: old-boost2.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
@ -991,6 +992,7 @@ Provides %{langname} translations and additional resources (help files, etc.) fo
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch990 -p1
%patch991 -p1

79
old-boost2.patch Normal file
View File

@ -0,0 +1,79 @@
diff --git a/sw/source/core/inc/frame.hxx b/sw/source/core/inc/frame.hxx
index 6e0d653690c4..52a68b3b995d 100644
--- a/sw/source/core/inc/frame.hxx
+++ b/sw/source/core/inc/frame.hxx
@@ -1245,11 +1245,15 @@ public:
m_pForbidFrame->ForbidDelete();
}
+ SwFrameDeleteGuard(const SwFrameDeleteGuard&) =delete;
+
~SwFrameDeleteGuard()
{
if (m_pForbidFrame)
m_pForbidFrame->AllowDelete();
}
+
+ SwFrameDeleteGuard& operator=(const SwFrameDeleteGuard&) =delete;
};
typedef long (SwFrame:: *SwFrameGet)() const;
diff --git a/sw/source/core/layout/calcmove.cxx b/sw/source/core/layout/calcmove.cxx
index 3502450c2a47..cb956d8f916c 100644
--- a/sw/source/core/layout/calcmove.cxx
+++ b/sw/source/core/layout/calcmove.cxx
@@ -404,14 +404,19 @@ void SwFrame::PrepareCursor()
const bool bTab = IsTabFrame();
bool bNoSect = IsInSct();
+#if BOOST_VERSION < 105600
+ std::list<FlowFrameJoinLockGuard> tabGuard;
+ std::list<SwFrameDeleteGuard> rowGuard;
+#else
boost::optional<FlowFrameJoinLockGuard> tabGuard;
boost::optional<SwFrameDeleteGuard> rowGuard;
+#endif
SwFlowFrame* pThis = bCnt ? static_cast<SwContentFrame*>(this) : nullptr;
if ( bTab )
{
#if BOOST_VERSION < 105600
- tabGuard.reset(static_cast<SwTabFrame*>(this)); // tdf#125741
+ tabGuard.emplace_back(static_cast<SwTabFrame*>(this)); // tdf#125741
#else
tabGuard.emplace(static_cast<SwTabFrame*>(this)); // tdf#125741
#endif
@@ -420,7 +425,7 @@ void SwFrame::PrepareCursor()
else if (IsRowFrame())
{
#if BOOST_VERSION < 105600
- rowGuard.reset(SwFrameDeleteGuard(this)); // tdf#125741 keep this alive
+ rowGuard.emplace_back(this); // tdf#125741 keep this alive
#else
rowGuard.emplace(this); // tdf#125741 keep this alive
#endif
diff --git a/sw/source/core/layout/flowfrm.cxx b/sw/source/core/layout/flowfrm.cxx
index ea9df3300d11..c7cfd3006f06 100644
--- a/sw/source/core/layout/flowfrm.cxx
+++ b/sw/source/core/layout/flowfrm.cxx
@@ -2523,7 +2523,11 @@ bool SwFlowFrame::MoveBwd( bool &rbReformat )
{
auto const pOld = m_rThis.GetUpper();
+#if BOOST_VERSION < 105600
+ std::list<SwFrameDeleteGuard> g;
+#else
::boost::optional<SwFrameDeleteGuard> g;
+#endif
if (m_rThis.GetUpper()->IsCellFrame())
{
// note: IsFollowFlowRow() is never set for new-style tables
@@ -2534,7 +2538,7 @@ bool SwFlowFrame::MoveBwd( bool &rbReformat )
{
// lock follow-flow-row (similar to sections above)
#if BOOST_VERSION < 105600
- g.reset(SwFrameDeleteGuard(m_rThis.GetUpper()->GetUpper()));
+ g.emplace_back(m_rThis.GetUpper()->GetUpper());
#else
g.emplace(m_rThis.GetUpper()->GetUpper());
#endif