Gentoo Archives: gentoo-commits

From: Andreas Sturmlechner <asturm@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-office/libreoffice/files/, app-office/libreoffice/
Date: Mon, 13 Sep 2021 05:19:39
Message-Id: 1631510343.9375148624f5611fa7d4de66905a66732f47d514.asturm@gentoo
1 commit: 9375148624f5611fa7d4de66905a66732f47d514
2 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
3 AuthorDate: Sun Sep 12 20:59:04 2021 +0000
4 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
5 CommitDate: Mon Sep 13 05:19:03 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=93751486
7
8 app-office/libreoffice: 7.1.6.2 version bump
9
10 Package-Manager: Portage-3.0.23, Repoman-3.0.3
11 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
12
13 app-office/libreoffice/Manifest | 2 +
14 ...ce-7.1.6.2-KF5-fix-double-buffer-graphics.patch | 310 +++++++++++++++++++++
15 ...-7.1.9999.ebuild => libreoffice-7.1.6.2.ebuild} | 6 +
16 app-office/libreoffice/libreoffice-7.1.9999.ebuild | 3 +
17 4 files changed, 321 insertions(+)
18
19 diff --git a/app-office/libreoffice/Manifest b/app-office/libreoffice/Manifest
20 index bbb1df88721..51645c123ad 100644
21 --- a/app-office/libreoffice/Manifest
22 +++ b/app-office/libreoffice/Manifest
23 @@ -20,8 +20,10 @@ DIST f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip 211919 BLAKE2B 2c7
24 DIST libcmis-0.5.2.tar.xz 484404 BLAKE2B 7de242393c28fc8289bb598b34e704eb2affaaa8b9e470e10044dbfd3812391f29e1421df8d7ac3869955698ddbc9575feebcfbac27bb074a60ccc0527dca1c3 SHA512 295ab15115e75b1f6074f17d3538afe0de9b2b77ab454f5c63cb05e8df11886d82942fbf21ba01486052e3f6c75b0636b99d8e660cd3472dc4b87c31d3cd557b
25 DIST libreoffice-7.1.3.2.tar.xz 244104432 BLAKE2B f73bd448f94bc88a1dc775d032ce849ee1dd610c4077c709ffbe40d8c99527c7775cfe2309a636093182ac988ecf44a4b61df0e0a83b332fcc77a05edb602791 SHA512 d7329475cad5bece9358b29bc590da1841c3c0b4aef511508d9398519c514fa176c90675857f1830925818f2dcc8b9c0986e5d34d3a33cce617e4ada23c60a72
26 DIST libreoffice-7.1.5.2.tar.xz 244350068 BLAKE2B ac3c7f5cabcb27ce3ed31febb04ce54b93bc8b4fa716259d1b93d5364e75b85af3352ad70a023b56271e769f5537b3f3151e837ee13498e08f1871e5b47d778c SHA512 dad5ffd344a7bad88ed8e77df4fb17b42237715e7b1feb7a7de164f2fbf6698feefedeb57974d8275067a06c0da60e9b07a333ccc1bb2f6d55a6b52408bd9b5f
27 +DIST libreoffice-7.1.6.2.tar.xz 244535588 BLAKE2B 79d4980b5842b37e7fdc328e832e3b672225e1903676d5c63ab68d7a993caf000bdb763837f98b4dd8156a95224ce22f501ec66dc315ca801a9c748e203e9170 SHA512 13f8e0a45614c75861b6262bcf845c1dc63baef044dc434319f739b6180f61a740f945e99663d76b1c51ce5226b9765431aa34b49d8a7f017c966bf5d4694257
28 DIST libreoffice-branding-gentoo-0.8.tar.xz 151568 BLAKE2B f03c7ddeb53c5ca3fd23401679601fcf2c4037ba17be4eb7b784c7ce7ebb71a24b8ab4aac8b7da8c6b1f14dd23bc1294ba85ff4f70ad271fb4ee3c5372e10883 SHA512 785031a699b1d1895ce4b50ffc3ddf645f3a0ef9acdf37facfd18cf75db9484cb8f53a50abb63d6006ead76a80b6ff5aa99661063245ebb84bd64013d713de7f
29 DIST libreoffice-help-7.1.3.2.tar.xz 111785416 BLAKE2B 12d97764976ae0e4736638e9b758c5920d38d608e66fc3343d74178a935632396e1e07fbb98b6f380fd103c3f5e2edf917726a760420f6dfd3d2e42aaa215096 SHA512 576dbea391777a907275b630ed704dd3d9ad0627f8a18da1cbd23fe28df04c3a509583c2404f810df3aaac15ef0881e2c1e0a55c9f31618715586628873367eb
30 DIST libreoffice-help-7.1.5.2.tar.xz 111785852 BLAKE2B 18962fe9260f6cf8ec7b1676f077b9f43e0277769b31b8e2c22cf83ac2963f3e92448901bc12f56dfb579da8a8a1ce20d6bd34c4bc3449f7e0972c03d22f63be SHA512 c669b6c4bfc3c6f46e4ee0bf86b158054f7178b9785273d9aba8183236b2ff6dbaf5584d5e4fb09bba3a8d010373599e7473a4ba15c229087c689198ceeee1c7
31 +DIST libreoffice-help-7.1.6.2.tar.xz 111785436 BLAKE2B 810de348ca8fc297a75608bf4def1b4fe68dae976c727ceb157937de8029e9d30b52929c4a4fa6521b3391be27943bfe30b76466b9c415b4f78f0b68a28377ca SHA512 1b0f7fe4bc9bf2e16e3b3ddf49d4a70ef1d7369d9fd4d4835618007a230fb6e36e81fa1bde42d38dba1068147b285148dbff6c336aff52872e8794b594d309ad
32 DIST skia-m88-59bafeeaa7de9eb753e3778c414e01dcf013dcd8.tar.xz 10420480 BLAKE2B 83bcc9ff3a3a916ccb92f49ef69f99386e89b636d37679ab17735625c56c4bb31ca89a7034d9282c905b405e0b31215de5fd3734061d323d48db440e4ad52643 SHA512 8e5c37b895d7f5fe15f491005ac46b39efe3bfb3af5dc805bf1226b2112496bdb9e433cc3b313f8fc185fe1f898d126b8a557d23485615cdbe917f0b76855f3d
33 DIST skia-m94-975fcdd755dfc5d57cddbb25857e0c4ac29abe98.tar.xz 11672176 BLAKE2B 64d7821656002d23be839079dedffe1132497992aaef97ec734d6e430f2eda69f5344ca7fe75dd68fee847fa4c6638b4fc28194a951b91498ece5c6d4bcf3e44 SHA512 ae66fa7caeb5a328d96cd1c35eb8700080be5d3e3764e35b8056b03948e44b8bb8266284c87b44f9200accb95dbb8a2771a6e5ba067d34a7fbd33b1ababf19f8
34
35 diff --git a/app-office/libreoffice/files/libreoffice-7.1.6.2-KF5-fix-double-buffer-graphics.patch b/app-office/libreoffice/files/libreoffice-7.1.6.2-KF5-fix-double-buffer-graphics.patch
36 new file mode 100644
37 index 00000000000..36ed138f2a3
38 --- /dev/null
39 +++ b/app-office/libreoffice/files/libreoffice-7.1.6.2-KF5-fix-double-buffer-graphics.patch
40 @@ -0,0 +1,310 @@
41 +From ec23228a3a2fc4e8868f7f04b838313be59ad719 Mon Sep 17 00:00:00 2001
42 +From: Jan-Marek Glogowski <glogow@×××××××.de>
43 +Date: Sun, 11 Apr 2021 17:40:26 +0200
44 +Subject: tdf#143796 Qt5/KF5 fix double-buffer graphics
45 +
46 +This is a squashed commit for:
47 +
48 +"Qt5/KF5 get rid of unneeded own grahics handling"
49 +"tdf#143334 Qt5 don't reset buffer on style change"
50 +"tdf#144008 Qt5/Kf5 create frames in the GUI thread"
51 +
52 +commit 963f252cd1ea9c268a6ced68a3454b10cbee1a89
53 +commit ec77a2ed0283cb3446f6e352fc329afd3dfb785c
54 +commit 923b30aa27ceb377d6a540c012000e89ce5db31e
55 +
56 +The first commit exposed the same problem to kf5, the 2nd patch is
57 +the real fix and the 3rd partly a regression for kf5 from the 1st
58 +commit but also an additional bugfix for qt5.
59 +
60 +Change-Id: I84b8dd106a35a5c2fda08a525f657b0b733a5cb7
61 +Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121795
62 +Tested-by: Jenkins
63 +Reviewed-by: Michael Weghorn <m.weghorn@××××××.de>
64 +Reviewed-by: Jan-Marek Glogowski <glogow@×××××××.de>
65 +Reviewed-by: Adolfo Jayme Barrientos <fitojb@××××××.com>
66 +---
67 + vcl/inc/qt5/Qt5Frame.hxx | 8 +-------
68 + vcl/inc/qt5/Qt5Instance.hxx | 1 +
69 + vcl/qt5/Qt5Frame.cxx | 34 ++++++++++++----------------------
70 + vcl/qt5/Qt5Instance.cxx | 18 +++++++++++++++---
71 + vcl/unx/kf5/KF5SalFrame.cxx | 24 ------------------------
72 + vcl/unx/kf5/KF5SalFrame.hxx | 6 ------
73 + vcl/unx/kf5/KF5SalInstance.cxx | 16 +++++++++++++---
74 + vcl/unx/kf5/KF5SalInstance.hxx | 1 +
75 + 8 files changed, 43 insertions(+), 65 deletions(-)
76 +
77 +diff --git a/vcl/inc/qt5/Qt5Frame.hxx b/vcl/inc/qt5/Qt5Frame.hxx
78 +index 54a721e03730..9b6e3811c3bb 100644
79 +--- a/vcl/inc/qt5/Qt5Frame.hxx
80 ++++ b/vcl/inc/qt5/Qt5Frame.hxx
81 +@@ -77,17 +77,12 @@ class VCLPLUG_QT5_PUBLIC Qt5Frame : public QObject, public SalFrame
82 + std::unique_ptr<QImage> m_pQImage;
83 + std::unique_ptr<Qt5Graphics> m_pQt5Graphics;
84 + UniqueCairoSurface m_pSurface;
85 +- std::unique_ptr<Qt5SvpGraphics> m_pOurSvpGraphics;
86 +- // in base class, this ptr is the same as m_pOurSvpGraphic
87 +- // in derived class, it can point to a derivative
88 +- // of Qt5SvpGraphics (which the derived class then owns)
89 +- Qt5SvpGraphics* m_pSvpGraphics;
90 ++ std::unique_ptr<Qt5SvpGraphics> m_pSvpGraphics;
91 + DamageHandler m_aDamageHandler;
92 + QRegion m_aRegion;
93 + bool m_bNullRegion;
94 +
95 + bool m_bGraphicsInUse;
96 +- bool m_bGraphicsInvalid;
97 + SalFrameStyleFlags m_nStyle;
98 + Qt5Frame* m_pParent;
99 + PointerStyle m_ePointerStyle;
100 +@@ -144,7 +139,6 @@ public:
101 + void Damage(sal_Int32 nExtentsX, sal_Int32 nExtentsY, sal_Int32 nExtentsWidth,
102 + sal_Int32 nExtentsHeight) const;
103 +
104 +- void InitQt5SvpGraphics(Qt5SvpGraphics* pQt5SvpGraphics);
105 + virtual SalGraphics* AcquireGraphics() override;
106 + virtual void ReleaseGraphics(SalGraphics* pGraphics) override;
107 +
108 +diff --git a/vcl/inc/qt5/Qt5Instance.hxx b/vcl/inc/qt5/Qt5Instance.hxx
109 +index d73a59de51c1..a2372e58f8c9 100644
110 +--- a/vcl/inc/qt5/Qt5Instance.hxx
111 ++++ b/vcl/inc/qt5/Qt5Instance.hxx
112 +@@ -82,6 +82,7 @@ protected:
113 + virtual Qt5FilePicker*
114 + createPicker(css::uno::Reference<css::uno::XComponentContext> const& context,
115 + QFileDialog::FileMode);
116 ++ bool useCairo() const { return m_bUseCairo; }
117 +
118 + public:
119 + explicit Qt5Instance(std::unique_ptr<QApplication>& pQApp, bool bUseCairo = false);
120 +diff --git a/vcl/qt5/Qt5Frame.cxx b/vcl/qt5/Qt5Frame.cxx
121 +index b398e9a5cf3b..d39d1729c812 100644
122 +--- a/vcl/qt5/Qt5Frame.cxx
123 ++++ b/vcl/qt5/Qt5Frame.cxx
124 +@@ -104,10 +104,8 @@ sal_Int32 screenNumber(const QScreen* pScreen)
125 + Qt5Frame::Qt5Frame(Qt5Frame* pParent, SalFrameStyleFlags nStyle, bool bUseCairo)
126 + : m_pTopLevel(nullptr)
127 + , m_bUseCairo(bUseCairo)
128 +- , m_pSvpGraphics(nullptr)
129 + , m_bNullRegion(true)
130 + , m_bGraphicsInUse(false)
131 +- , m_bGraphicsInvalid(false)
132 + , m_ePointerStyle(PointerStyle::Arrow)
133 + , m_pDragSource(nullptr)
134 + , m_pDropTarget(nullptr)
135 +@@ -288,17 +286,6 @@ void Qt5Frame::Damage(sal_Int32 nExtentsX, sal_Int32 nExtentsY, sal_Int32 nExten
136 + 1 / devicePixelRatioF()));
137 + }
138 +
139 +-void Qt5Frame::InitQt5SvpGraphics(Qt5SvpGraphics* pQt5SvpGraphics)
140 +-{
141 +- QSize aSize = m_pQWidget->size() * devicePixelRatioF();
142 +- m_pSvpGraphics = pQt5SvpGraphics;
143 +- m_pSurface.reset(
144 +- cairo_image_surface_create(CAIRO_FORMAT_ARGB32, aSize.width(), aSize.height()));
145 +- m_pSvpGraphics->setSurface(m_pSurface.get(), basegfx::B2IVector(aSize.width(), aSize.height()));
146 +- cairo_surface_set_user_data(m_pSurface.get(), Qt5SvpGraphics::getDamageKey(), &m_aDamageHandler,
147 +- nullptr);
148 +-}
149 +-
150 + SalGraphics* Qt5Frame::AcquireGraphics()
151 + {
152 + if (m_bGraphicsInUse)
153 +@@ -308,24 +295,28 @@ SalGraphics* Qt5Frame::AcquireGraphics()
154 +
155 + if (m_bUseCairo)
156 + {
157 +- if (!m_pOurSvpGraphics || m_bGraphicsInvalid)
158 ++ if (!m_pSvpGraphics)
159 + {
160 +- m_pOurSvpGraphics.reset(new Qt5SvpGraphics(this));
161 +- InitQt5SvpGraphics(m_pOurSvpGraphics.get());
162 +- m_bGraphicsInvalid = false;
163 ++ QSize aSize = m_pQWidget->size() * devicePixelRatioF();
164 ++ m_pSvpGraphics.reset(new Qt5SvpGraphics(this));
165 ++ m_pSurface.reset(
166 ++ cairo_image_surface_create(CAIRO_FORMAT_ARGB32, aSize.width(), aSize.height()));
167 ++ m_pSvpGraphics->setSurface(m_pSurface.get(),
168 ++ basegfx::B2IVector(aSize.width(), aSize.height()));
169 ++ cairo_surface_set_user_data(m_pSurface.get(), Qt5SvpGraphics::getDamageKey(),
170 ++ &m_aDamageHandler, nullptr);
171 + }
172 +- return m_pOurSvpGraphics.get();
173 ++ return m_pSvpGraphics.get();
174 + }
175 + else
176 + {
177 +- if (!m_pQt5Graphics || m_bGraphicsInvalid)
178 ++ if (!m_pQt5Graphics)
179 + {
180 + m_pQt5Graphics.reset(new Qt5Graphics(this));
181 + m_pQImage.reset(
182 + new QImage(m_pQWidget->size() * devicePixelRatioF(), Qt5_DefaultFormat32));
183 + m_pQImage->fill(Qt::transparent);
184 + m_pQt5Graphics->ChangeQImage(m_pQImage.get());
185 +- m_bGraphicsInvalid = false;
186 + }
187 + return m_pQt5Graphics.get();
188 + }
189 +@@ -335,7 +326,7 @@ void Qt5Frame::ReleaseGraphics(SalGraphics* pSalGraph)
190 + {
191 + (void)pSalGraph;
192 + if (m_bUseCairo)
193 +- assert(pSalGraph == m_pOurSvpGraphics.get());
194 ++ assert(pSalGraph == m_pSvpGraphics.get());
195 + else
196 + assert(pSalGraph == m_pQt5Graphics.get());
197 + m_bGraphicsInUse = false;
198 +@@ -1145,7 +1136,6 @@ void Qt5Frame::UpdateSettings(AllSettings& rSettings)
199 + style.SetShadowColor(toColor(pal.color(QPalette::Disabled, QPalette::WindowText)));
200 + style.SetDarkShadowColor(toColor(pal.color(QPalette::Inactive, QPalette::WindowText)));
201 +
202 +- m_bGraphicsInvalid = true;
203 + rSettings.SetStyleSettings(style);
204 + }
205 +
206 +diff --git a/vcl/qt5/Qt5Instance.cxx b/vcl/qt5/Qt5Instance.cxx
207 +index ca1f914dd707..bceae35e9016 100644
208 +--- a/vcl/qt5/Qt5Instance.cxx
209 ++++ b/vcl/qt5/Qt5Instance.cxx
210 +@@ -252,13 +252,21 @@ void Qt5Instance::deleteObjectLater(QObject* pObject) { pObject->deleteLater();
211 +
212 + SalFrame* Qt5Instance::CreateChildFrame(SystemParentData* /*pParent*/, SalFrameStyleFlags nStyle)
213 + {
214 +- return new Qt5Frame(nullptr, nStyle, m_bUseCairo);
215 ++ SalFrame* pRet(nullptr);
216 ++ RunInMainThread([&, this]() { pRet = new Qt5Frame(nullptr, nStyle, useCairo()); });
217 ++ assert(pRet);
218 ++ return pRet;
219 + }
220 +
221 + SalFrame* Qt5Instance::CreateFrame(SalFrame* pParent, SalFrameStyleFlags nStyle)
222 + {
223 + assert(!pParent || dynamic_cast<Qt5Frame*>(pParent));
224 +- return new Qt5Frame(static_cast<Qt5Frame*>(pParent), nStyle, m_bUseCairo);
225 ++
226 ++ SalFrame* pRet(nullptr);
227 ++ RunInMainThread(
228 ++ [&, this]() { pRet = new Qt5Frame(static_cast<Qt5Frame*>(pParent), nStyle, useCairo()); });
229 ++ assert(pRet);
230 ++ return pRet;
231 + }
232 +
233 + void Qt5Instance::DestroyFrame(SalFrame* pFrame)
234 +@@ -273,7 +281,11 @@ void Qt5Instance::DestroyFrame(SalFrame* pFrame)
235 + SalObject* Qt5Instance::CreateObject(SalFrame* pParent, SystemWindowData*, bool bShow)
236 + {
237 + assert(!pParent || dynamic_cast<Qt5Frame*>(pParent));
238 +- return new Qt5Object(static_cast<Qt5Frame*>(pParent), bShow);
239 ++
240 ++ SalObject* pRet(nullptr);
241 ++ RunInMainThread([&]() { pRet = new Qt5Object(static_cast<Qt5Frame*>(pParent), bShow); });
242 ++ assert(pRet);
243 ++ return pRet;
244 + }
245 +
246 + void Qt5Instance::DestroyObject(SalObject* pObject)
247 +diff --git a/vcl/unx/kf5/KF5SalFrame.cxx b/vcl/unx/kf5/KF5SalFrame.cxx
248 +index 1aa0b9008de7..8f14594586d2 100644
249 +--- a/vcl/unx/kf5/KF5SalFrame.cxx
250 ++++ b/vcl/unx/kf5/KF5SalFrame.cxx
251 +@@ -45,7 +45,6 @@
252 +
253 + KF5SalFrame::KF5SalFrame(KF5SalFrame* pParent, SalFrameStyleFlags nState, bool bUseCairo)
254 + : Qt5Frame(pParent, nState, bUseCairo)
255 +- , m_bGraphicsInUse(false)
256 + {
257 + }
258 +
259 +@@ -162,27 +161,4 @@ void KF5SalFrame::UpdateSettings(AllSettings& rSettings)
260 + rSettings.SetStyleSettings(style);
261 + }
262 +
263 +-SalGraphics* KF5SalFrame::AcquireGraphics()
264 +-{
265 +- if (m_bGraphicsInUse)
266 +- return nullptr;
267 +-
268 +- m_bGraphicsInUse = true;
269 +-
270 +- if (!m_pKF5Graphics)
271 +- {
272 +- m_pKF5Graphics.reset(new Qt5SvpGraphics(this));
273 +- Qt5Frame::InitQt5SvpGraphics(m_pKF5Graphics.get());
274 +- }
275 +-
276 +- return m_pKF5Graphics.get();
277 +-}
278 +-
279 +-void KF5SalFrame::ReleaseGraphics(SalGraphics* pSalGraph)
280 +-{
281 +- (void)pSalGraph;
282 +- assert(pSalGraph == m_pKF5Graphics.get());
283 +- m_bGraphicsInUse = false;
284 +-}
285 +-
286 + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
287 +diff --git a/vcl/unx/kf5/KF5SalFrame.hxx b/vcl/unx/kf5/KF5SalFrame.hxx
288 +index f757535c2f35..d0fdd91978e6 100644
289 +--- a/vcl/unx/kf5/KF5SalFrame.hxx
290 ++++ b/vcl/unx/kf5/KF5SalFrame.hxx
291 +@@ -28,15 +28,9 @@ class QWidget;
292 +
293 + class KF5SalFrame : public Qt5Frame
294 + {
295 +-private:
296 +- std::unique_ptr<Qt5SvpGraphics> m_pKF5Graphics;
297 +- bool m_bGraphicsInUse;
298 +-
299 + public:
300 + KF5SalFrame(KF5SalFrame* pParent, SalFrameStyleFlags nStyle, bool bUseCairo);
301 +
302 +- virtual SalGraphics* AcquireGraphics() override;
303 +- virtual void ReleaseGraphics(SalGraphics* pGraphics) override;
304 + virtual void UpdateSettings(AllSettings& rSettings) override;
305 + };
306 +
307 +diff --git a/vcl/unx/kf5/KF5SalInstance.cxx b/vcl/unx/kf5/KF5SalInstance.cxx
308 +index 5b95ff8df572..d9d7747fe647 100644
309 +--- a/vcl/unx/kf5/KF5SalInstance.cxx
310 ++++ b/vcl/unx/kf5/KF5SalInstance.cxx
311 +@@ -40,11 +40,21 @@ KF5SalInstance::KF5SalInstance(std::unique_ptr<QApplication>& pQApp)
312 + pSVData->maAppData.mxToolkitName = OUString("kf5");
313 + }
314 +
315 +-SalFrame* KF5SalInstance::CreateFrame(SalFrame* pParent, SalFrameStyleFlags nState)
316 ++SalFrame* KF5SalInstance::CreateChildFrame(SystemParentData* /*pParent*/, SalFrameStyleFlags nStyle)
317 + {
318 + SalFrame* pRet(nullptr);
319 +- RunInMainThread([&pRet, pParent, nState]() {
320 +- pRet = new KF5SalFrame(static_cast<KF5SalFrame*>(pParent), nState, true);
321 ++ RunInMainThread([&, this]() { pRet = new KF5SalFrame(nullptr, nStyle, useCairo()); });
322 ++ assert(pRet);
323 ++ return pRet;
324 ++}
325 ++
326 ++SalFrame* KF5SalInstance::CreateFrame(SalFrame* pParent, SalFrameStyleFlags nStyle)
327 ++{
328 ++ assert(!pParent || dynamic_cast<KF5SalFrame*>(pParent));
329 ++
330 ++ SalFrame* pRet(nullptr);
331 ++ RunInMainThread([&, this]() {
332 ++ pRet = new KF5SalFrame(static_cast<KF5SalFrame*>(pParent), nStyle, useCairo());
333 + });
334 + assert(pRet);
335 + return pRet;
336 +diff --git a/vcl/unx/kf5/KF5SalInstance.hxx b/vcl/unx/kf5/KF5SalInstance.hxx
337 +index 5dd306da5231..b951df59ab33 100644
338 +--- a/vcl/unx/kf5/KF5SalInstance.hxx
339 ++++ b/vcl/unx/kf5/KF5SalInstance.hxx
340 +@@ -28,6 +28,7 @@ class KF5SalInstance final : public Qt5Instance
341 + QFileDialog::FileMode) override;
342 +
343 + SalFrame* CreateFrame(SalFrame* pParent, SalFrameStyleFlags nStyle) override;
344 ++ SalFrame* CreateChildFrame(SystemParentData* pParent, SalFrameStyleFlags nStyle) override;
345 +
346 + public:
347 + explicit KF5SalInstance(std::unique_ptr<QApplication>& pQApp);
348 +--
349 +cgit v1.2.1
350 +
351
352 diff --git a/app-office/libreoffice/libreoffice-7.1.9999.ebuild b/app-office/libreoffice/libreoffice-7.1.6.2.ebuild
353 similarity index 99%
354 copy from app-office/libreoffice/libreoffice-7.1.9999.ebuild
355 copy to app-office/libreoffice/libreoffice-7.1.6.2.ebuild
356 index 752bacd6f31..f18f1e2704a 100644
357 --- a/app-office/libreoffice/libreoffice-7.1.9999.ebuild
358 +++ b/app-office/libreoffice/libreoffice-7.1.6.2.ebuild
359 @@ -295,6 +295,12 @@ PATCHES=(
360 "${FILESDIR}/${PN}-5.3.4.2-kioclient5.patch"
361 "${FILESDIR}/${PN}-6.1-nomancompress.patch"
362 "${FILESDIR}/${PN}-7.0.3.1-qt5detect.patch"
363 +
364 + # 7.1 branch
365 + "${FILESDIR}/${P}-KF5-fix-double-buffer-graphics.patch"
366 +
367 + # master branch
368 + "${FILESDIR}/${PN}-7.1.3.2-bashism.patch" # bug 780432
369 )
370
371 S="${WORKDIR}/${PN}-${MY_PV}"
372
373 diff --git a/app-office/libreoffice/libreoffice-7.1.9999.ebuild b/app-office/libreoffice/libreoffice-7.1.9999.ebuild
374 index 752bacd6f31..74914f80b47 100644
375 --- a/app-office/libreoffice/libreoffice-7.1.9999.ebuild
376 +++ b/app-office/libreoffice/libreoffice-7.1.9999.ebuild
377 @@ -295,6 +295,9 @@ PATCHES=(
378 "${FILESDIR}/${PN}-5.3.4.2-kioclient5.patch"
379 "${FILESDIR}/${PN}-6.1-nomancompress.patch"
380 "${FILESDIR}/${PN}-7.0.3.1-qt5detect.patch"
381 +
382 + # master branch
383 + "${FILESDIR}/${PN}-7.1.3.2-bashism.patch" # bug 780432
384 )
385
386 S="${WORKDIR}/${PN}-${MY_PV}"