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}" |