summaryrefslogtreecommitdiff
path: root/vcl
AgeCommit message (Collapse)AuthorFilesLines
2019-07-11kde4: Add missing include to fix buildMichael Weghorn1-0/+2
Fixes this build failure as reported e.g. by tinderbox [1]: In file included from /usr/include/c++/7/bits/locale_conv.h:41:0, from /usr/include/c++/7/locale:43, from /usr/include/c++/7/iomanip:43, from include/com/sun/star/uno/Any.hxx:27, from workdir/UnoApiHeadersTarget/udkapi/normal/com/sun/star/uno/XInterface.hpp:9, from workdir/UnoApiHeadersTarget/udkapi/normal/com/sun/star/uno/Exception.hpp:8, from workdir/UnoApiHeadersTarget/udkapi/normal/com/sun/star/uno/RuntimeException.hpp:8, from workdir/UnoApiHeadersTarget/udkapi/normal/com/sun/star/lang/XTypeProvider.hpp:8, from include/cppuhelper/compbase.hxx:25, from vcl/unx/kde4/KDE4FilePicker.hxx:22, from vcl/unx/kde4/KDESalInstance.cxx:20: /usr/include/c++/7/bits/unique_ptr.h: In instantiation of ‘void std::default_delete<_Tp>::operator()(_Tp*) const [with _Tp = SalVirtualDevice]’: /usr/include/c++/7/bits/unique_ptr.h:268:17: required from ‘std::unique_ptr<_Tp, _Dp>::~unique_ptr() [with _Tp = SalVirtualDevice; _Dp = std::default_delete<SalVirtualDevice>]’ .../vcl/unx/kde4/KDESalInstance.cxx:70:107: required from here /usr/include/c++/7/bits/unique_ptr.h:76:22: error: invalid application of ‘sizeof’ to incomplete type ‘SalVirtualDevice’ static_assert(sizeof(_Tp)>0, [1] https://tinderbox.libreoffice.org/cgi-bin/gunzip.cgi?tree=libreoffice-6-2&brief-log=1562787602.2042 Change-Id: I1da444b80447ec8896ff9898684ee14fd3933b18 Reviewed-on: https://gerrit.libreoffice.org/75381 Reviewed-by: Michael Stahl <Michael.Stahl@cib.de> Tested-by: Michael Stahl <Michael.Stahl@cib.de>
2019-07-09KDE4 create KDESalGraphics based X11VirtualDeviceJan-Marek Glogowski2-0/+10
In the spirit of commit 5ee408eb4c9f ("tdf#125673 KDE5 implement a KDE5SalVirtualDevice"), this might help with KDE4 graphics problems, like the ones mentioned in tdf#126272. Change-Id: I50875b69e1c1494803f08746bfc3b99a57e36414 Reviewed-on: https://gerrit.libreoffice.org/75281 Tested-by: Jenkins Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2019-06-29tdf#125606 Qt5 directly show tooltips + respect the help areaJan-Marek Glogowski4-18/+5
I'm not sure why this redirection was implemented, which also ommited the provided help area. I tried hard to use vc::Window code in the beginning, but that also mirrors the cursor position for the window. Using Qt here is simply straight forward, so just do that, Reviewed-on: https://gerrit.libreoffice.org/74548 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> (cherry picked from commit ab5f341efd144adb6b7d0e00fece76a2153acd10) Reviewed-on: https://gerrit.libreoffice.org/74571 (cherry picked from commit e3988fa785c0430ae708527cbc5a7baa6d9d55a6) Change-Id: Ia8c4efc1e43b915c4b071ee26d4da37d7580817c Reviewed-on: https://gerrit.libreoffice.org/74854 Tested-by: Jenkins Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2019-06-28Resolves: tdf#126134 EndDialog on disposed dialogCaolán McNamara1-1/+1
Change-Id: I079fb2bb786b66b843e8e3960643cf2db6387c79 Reviewed-on: https://gerrit.libreoffice.org/74823 Reviewed-by: Michael Stahl <Michael.Stahl@cib.de> Tested-by: Michael Stahl <Michael.Stahl@cib.de>
2019-06-25tdf#126054 uses after free when menubutton and menu torn down during executionCaolán McNamara2-0/+7
Change-Id: Ib79da121941863421bc12afa27e27cdd7e2e81e3 Reviewed-on: https://gerrit.libreoffice.org/74697 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-06-25Resolves: tdf#125168 label mnemonic appearing in database urlCaolán McNamara2-0/+10
Change-Id: I39531ae2a656c16c7355d73b76cb918d3535f7b0 Reviewed-on: https://gerrit.libreoffice.org/74604 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2019-06-21tdf#125670 just check gradient clipping on drawingJan-Marek Glogowski1-1/+7
Otherwise the gradient won't be commited to the Metafile, as mbOutputClipped will be true, because the output device will have just one pixel size. Reviewed-on: https://gerrit.libreoffice.org/73423 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 710f3c63af2d8bee7d5e860614145799a3f0e491) tdf#125777 restore old RenderContext before return Related: tdf#125670 avoid possible performance issues for the general case but retain recording of gradient to metafile 6acf23675414983bd07639703f43aa934c0a48ed 5efde15f1c192b15fe647362803442ac947b63de Change-Id: Ia0c6569a28f2aa1a8f0e051b61d429e0ab23ef97 Reviewed-on: https://gerrit.libreoffice.org/74507 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> (cherry picked from commit 6047d537b5ea8f13f7e8d4739621c866af1d13fb) Reviewed-on: https://gerrit.libreoffice.org/74515 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-06-18tdf#125921 Qt5 set WM_CLASS for top level windowsJan-Marek Glogowski1-2/+24
Uses the same naming then the gtk3 backend, i.e. "libreoffice" for the instance name and different class names for the module windows, like "libreoffice-writer". These names are referenced in the desktop files a StartupWMClass and for example used to pin an app to the task bar. Change-Id: Ic9b8890536f6413ab59d2e0da866e2280ab3181a Reviewed-on: https://gerrit.libreoffice.org/74014 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> (cherry picked from commit 77a3c443d35c7d966217f02ea9189cb1819c7828) Reviewed-on: https://gerrit.libreoffice.org/74082 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> (cherry picked from commit 1a1e13333e8145c7a78ddb23b540b0832cadd446) Reviewed-on: https://gerrit.libreoffice.org/74193
2019-06-18KDE5 move screensafer inhibiting code into Qt5Jan-Marek Glogowski4-26/+44
There will presumably be more X11 specific code later to implement some "fix" for tdf#119202. Moving the screensafer inhibitor is rather uncontroversial in comparion, so start with it and use it to carry the matching configure.ac changes. A little "nightmare" are all the clashing X11 / Qt type undefs, but I couldn't find a better solution while the inhibitor continues to include the X11 headers in it's header. Reviewed-on: https://gerrit.libreoffice.org/74015 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> (cherry picked from commit b5323c72ff7e5bcde34089e49fe98e589dcc5acb) Change-Id: I55c89c76726d30a890178488484e954207267e89 Reviewed-on: https://gerrit.libreoffice.org/74081 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> (cherry picked from commit 9c37c306158267d942a0a1debc3845db1c923ceb) Reviewed-on: https://gerrit.libreoffice.org/74192
2019-06-17Resolves: tdf#125883 if old and new text will be the same don't change itCaolán McNamara1-1/+3
that way the cursor and selection is left alone Change-Id: Id6efa7e2fe27f031761271fd591de7a73a1f6963 Reviewed-on: https://gerrit.libreoffice.org/74160 Reviewed-by: Michael Stahl <Michael.Stahl@cib.de> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-06-17tdf#121486: Correct scale of broken fonts on WindowsKhaled Hosny1-1/+1
Some fonts have negative tmAveCharWidth which makes no sense (fonts can't have negative glyph width, so the average can't be negative) and it would cause our code to apply negative scale to the glyphs of these fonts making them drawn on the flipped horizontally. Fix this by using the absolute value so it is always positive. Change-Id: I731e7aad80dae734847679a1b08c6ac78111e16c Reviewed-on: https://gerrit.libreoffice.org/74109 Tested-by: Jenkins Reviewed-by: Khaled Hosny <khaledhosny@eglug.org> (cherry picked from commit 8fffb56940c6eb81674000cdb718edc79603a6c5) Reviewed-on: https://gerrit.libreoffice.org/74123 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2019-06-15Qt5 move and init static m_ActiveDragSourceJan-Marek Glogowski2-2/+1
Change-Id: Iab82151b8d1a8281c9999983b9de5f35dfb0442e Reviewed-on: https://gerrit.libreoffice.org/74013 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> (cherry picked from commit 5195c5bcd8be5f3b183659ead272cd86b8774cc1) Reviewed-on: https://gerrit.libreoffice.org/74091 (cherry picked from commit bf1a7feb2b871409e61512b8faf415fc87d4c631) Reviewed-on: https://gerrit.libreoffice.org/74096 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2019-06-14tdf#92079 vcl: fix missing image background on dialog from basicMiklos Vajna1-0/+3
Regression from commit e5bb5c52aeaeb60c8592b004efd88c30242e03a1 (add RenderContext to Window::PushPaintHelper, use Erase correctly, 2015-05-18), the problem was the unconditional ApplySettings() call in the direct painting case. It's not clear what was the intent of that addition, since vcl::Window::ApplySettings() is virtual, and the default implementation is empty. But at least the Dialog subclass sets the background there, leading to the loss of the original bitmap background. Fix the problem by explicitly restoring the old background after ApplySettings() at least in the bitmap case. (Wallpaper is copy-on-write, so no problem to make a copy before ApplySettings() unconditionally.) (cherry picked from commit f4e0cc1ff145287f80738f070a8c46a64b2f76d1) Change-Id: I89768a1331f9dc1ea4508336723484d112156338 Reviewed-on: https://gerrit.libreoffice.org/74023 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com> (cherry picked from commit 4046b51e6f6bd31b0188d9c00273a1761254a9d6) Reviewed-on: https://gerrit.libreoffice.org/74034 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2019-06-14tdf#125673 KDE5 implement a KDE5SalVirtualDeviceJan-Marek Glogowski7-6/+71
We just need AcquireGraphics() to return a KDE5Graphics. Otherwise the BufferDevice's SVP will use a SvpSalGraphics instead of the KDE5Graphics, which knows about Qt's theming. Reviewed-on: https://gerrit.libreoffice.org/73673 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> (cherry picked from commit 2cb6a591b643a0f65dc58f060f60cc707ad3589c) Reviewed-on: https://gerrit.libreoffice.org/73722 Change-Id: I0ea646df260f2067d61c753f03dee01a003f382a Reviewed-on: https://gerrit.libreoffice.org/73963 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2019-06-13tdf#125591 DOC import: lazy-load metafiles with explicit sizeMiklos Vajna3-20/+29
Regression from commit 69b62cfcbd364d7f62142149c2f690104b217ca1 (tdf#125281 DOC import: fix size of lazy-loaded metafiles, 2019-05-27), the problem is that setting the preferred size of a Graphic swaps it in. Avoid this by extending ImportUnloadedGraphic(): if a size hint is provided, then that will be used instead of info from the graphic descriptor (which is usually only meaningful for bitmaps). This way we maintain the correct size and we're back to lazy-loading metafiles from binary MSO files as well. (cherry picked from commit acb803b730f2c6bd82e39beab58949ec14f85eb0) and: CppunitTest_sw_ww8import: disable failing assert on Windows It fails only sometimes, it's yet clear why. (cherry picked from commit b5d624c4af1085d4670149e9c1d280da7bc9add0) Change-Id: Ide12d12166110e98ea47b5347dd24fb203b22da3 Reviewed-on: https://gerrit.libreoffice.org/73961 Tested-by: Jenkins Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org>
2019-06-13tdf#125550 vcl menu bar / floating window: fix text colorMiklos Vajna5-16/+77
Regression from commit e8d5b8beb5958147235ff955ed38c47b51d860ff (tdf#113714 vcl menu bar window: avoid flicker, 2019-05-20), the problem was that a freshly created VirtualDevice doesn't have the default text color, so we need to initialize that explicitly based on the render context text color. Also introduce a BufferDevice to do this initialization, instead of fixing this in MenuBarWindow::Paint(), then copy&pasting the fix to MenuFloatingWindow::Paint(). Change-Id: Ib171cd52e7cabe0bc3c639821f558d8303039fe6 Reviewed-on: https://gerrit.libreoffice.org/73269 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins (cherry picked from commit 42bf893a8479f70d7d8f00e03105ce15e8545f8b) Reviewed-on: https://gerrit.libreoffice.org/73314 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Michael Weghorn <m.weghorn@posteo.de>
2019-06-13tdf#125692 SalObject always holds a SystemChildWindowJan-Marek Glogowski3-16/+17
Let's just face reality and store it as a VclPtr. And this is needed, because Qt, like VCL, uses deferred deletion, and has no way to filter events to QObjects out of its event queue easily. This way the qt5 plugin can report focus changes for SalObjects without a crash, which happens when you close a presentation with a video by click. And in addition it reverts the workaround introduced in commit e770bacc85a0 ("Qt5 workaround modal change after show bug"), as it seems this bug is a use-after-free error, introduced by LO. Thanks Michael Weghorn for catching that! Maybe someone should also rename SalObject... Reviewed-on: https://gerrit.libreoffice.org/73567 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> (cherry picked from commit 2dc6bdd1d5789ace0500cad90f5d2eb930888bb9) Reviewed-on: https://gerrit.libreoffice.org/73921 Change-Id: I0bc64ea64f95dfc7a838799c4a04de183adfefcf Reviewed-on: https://gerrit.libreoffice.org/73962 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2019-06-13Qt5 correctly hide menu bar in tabbed modeJan-Marek Glogowski1-2/+2
Change-Id: I179780c2df5637b8a28c3a77b829319b1a64845b Reviewed-on: https://gerrit.libreoffice.org/73924 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> (cherry picked from commit 9758b9b6e52e8e8a8a5cc24b51d62a853a3def82) Reviewed-on: https://gerrit.libreoffice.org/73926 (cherry picked from commit 221f27433900490e2b00bd4ed6957ab36ecadb33) Reviewed-on: https://gerrit.libreoffice.org/73927 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2019-06-13Revert "tdf#120836 KDE5: Clipboard: don't put images to clipboard"Luboš Luňák1-0/+30
My previous commit has disabled setting non-text for selection, so this workaround is no longer needed (and it very much looks like a workaround, I see no good reason for never putting images in the clipboard). This reverts commit c8b0c382c6330865df50ae7cf7360c8a2c08ebe6. Change-Id: I0206211e3ff0adcb89f8ca5410831a428e71fb51 Reviewed-on: https://gerrit.libreoffice.org/72370 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com> (cherry picked from commit 0d58f51d7672c569c93c6e814dbfffa586eebfb7) Reviewed-on: https://gerrit.libreoffice.org/73929 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2019-06-13do not add non-text to PRIMARY selection in VclQt5ClipboardLuboš Luňák1-1/+6
E.g. tdf#80853 repeatedly sets the selection, which results in the entire document getting converted to html. Other VCL backends seem to be even faster, it looks like they convert the data only on-demand, but this at least makes things bearable. Change-Id: Ib08423bd89d7c7065ad0522338979f1ce66701c7 Reviewed-on: https://gerrit.libreoffice.org/72369 Tested-by: Jenkins Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de> (cherry picked from commit 294d4ed6aab4ae6dbf859626545cf6d75194bacd) Reviewed-on: https://gerrit.libreoffice.org/73928 Reviewed-by: Luboš Luňák <l.lunak@collabora.com> Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2019-06-13Qt5 implement SalSurface support for cairoJan-Marek Glogowski11-26/+259
Current qt5+cairo uses the plain VCL canvas. This patch is just a copy of Gtk3Surface (minus comments) with a different update call. This way the Cairo path now uses the Cairo canvas instead. It fixes at least tdf#122668 for me, but other Impress bugs might be fixed this way too. Reviewed-on: https://gerrit.libreoffice.org/72921 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins Reviewed-by: Aleksei Nikiforov <darktemplar@basealt.ru> (cherry picked from commit 86cab846c1a122dd4dd5f5c4ca5750a0fc397c6b) [This also squashes the backport of commit cc237438f6d1c7ee3a391b51402aaa71cd347b6b ("qt5: Make it compile with '-Werror=shadow'") in to the same commit.] Change-Id: Iba511c851001753328293c28e53eaa4acc4315d0 Reviewed-on: https://gerrit.libreoffice.org/73198 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2019-06-12Resolves: rhbz#1719378 wrong signature for GtkGestureLongPress::pressedCaolán McNamara2-9/+6
Change-Id: Ib4c47189d5c9c89433f0c7de194ebb9777dc7bac Reviewed-on: https://gerrit.libreoffice.org/73831 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2019-06-10Revert "tdf#108687 vcl: always enable tabstop on radio buttons"Justin Luth1-1/+6
This reverts LO 6.2 commit f2cd1c3c7cce2699d1341f726fc90cf30b52612c because it caused regression tdf#125609. There are places where radio-groups are not properly defined, and things are a big mess. So reverting to previous behaviour for 6.2 stable. This can be a fairly serious regression, because the value of the radio buttons can change just by tabbing around. Leaving the commit in place for master/6.3, so that a proper solution to all problems can be developed and tested. Change-Id: I3c71e47934c9d979d1cb22e56535f7ea3b33130c Reviewed-on: https://gerrit.libreoffice.org/73618 Tested-by: Jenkins Reviewed-by: Justin Luth <justin_luth@sil.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-06-07Qt5 make Qt5Widdget's frame a private referenceJan-Marek Glogowski3-43/+43
Kind of a regression from commit 4d382636b0b1 ("qt5: Add basic a11y support"), which made it public for a single call. Change-Id: I631a861a98388223770cfca2704c3ddee6a0a8a0 Reviewed-on: https://gerrit.libreoffice.org/71836 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> (cherry picked from commit 8c71d28069acffa2d4590a4acf95a98d1415b563) Reviewed-on: https://gerrit.libreoffice.org/73650 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2019-06-07tdf#124694 gtk3 GtkFixed takes the max size of all its children...Caolán McNamara1-0/+19
as its preferred size, causing it to not clip its child, but grow instead to match Change-Id: I57f740177aae619d11966f5382a6cc5f7a964be3 Reviewed-on: https://gerrit.libreoffice.org/73170 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-06-06Resolves: rhbz#1712823 prefer help strings to a11y strings when availableCaolán McNamara1-11/+18
Reviewed-on: https://gerrit.libreoffice.org/69934 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit b70053ba681a9b62afd6fa700ad94256d98d8dc7) Change-Id: I50b36f697b8dd9ff8108392d48a7050702edbfbe Reviewed-on: https://gerrit.libreoffice.org/72880 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2019-06-05Qt5 use precise timer to prevent unneeded restartsJan-Marek Glogowski1-0/+1
We just have one driving timer. Not much to sync with. Gets rid of these annoying scheduler restart messages. The idea of coarse, synced timer events sounds nice to have, but LO currently can't handle it in a sensible sense.. Change-Id: I169c2bb582aca0e03b00e24dc364ac9b19162c3b Reviewed-on: https://gerrit.libreoffice.org/73392 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> (cherry picked from commit 677db60166106e33bc2329f868f96cf2fb85f11b) Reviewed-on: https://gerrit.libreoffice.org/73411 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> (cherry picked from commit f85d99ede4054876f608819e808c9b03c6a03481) Reviewed-on: https://gerrit.libreoffice.org/73464 Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2019-06-05tdf#107487 fix font fallback for non-BMP characters.Mark Hung1-3/+5
Non-BMP characters use two sal_Unicodes. It is necessary to advnace with OUString::iterateCodePoints safely instead of nCharPos + 1. Change-Id: Iea1005f05421b1021a9b3ff611439357d4dcba9e Reviewed-on: https://gerrit.libreoffice.org/73326 Tested-by: Jenkins Reviewed-by: Khaled Hosny <khaledhosny@eglug.org> (cherry picked from commit 16faad3657fad114aa984f92a14a5f212a2f8ff5) Reviewed-on: https://gerrit.libreoffice.org/73537 Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
2019-06-05tdf#124694 gtk2 GtkFixed takes the max size of all its children...Caolán McNamara1-1/+18
as its preferred size, causing it to not clip its child, but try and grow instead to match Change-Id: Ibea269d475a4b35a43b6cab2ab432a830d8ff1ff Reviewed-on: https://gerrit.libreoffice.org/73174 Tested-by: Jenkins Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org>
2019-06-04tdf#125506 tdf#121241: only use rObjectToDevice if neededXisco Fauli1-2/+4
Use same logic as in vcl/unx/generic/gdi/gdiimpl.cxx Reviewed-on: https://gerrit.libreoffice.org/73319 Tested-by: Jenkins Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org> (cherry picked from commit 93477d1a963e38e3319013e43835a8ffef200972) Reviewed-on: https://gerrit.libreoffice.org/73328 Change-Id: I7a7a8c4b3355f5621ba1603939a3757cd03e7777 Reviewed-on: https://gerrit.libreoffice.org/73396 Tested-by: Jenkins Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2019-06-03tdf#122200 Qt5AccessibleWidget: Handle special offset valuesMichael Weghorn1-0/+16
Handle special values for offset in 'Qt5AccessibleWidget::attributes' the same way that the base class's 'QAccessibleTextWidget::attributes' does, s. [1]. In particular, an offset matching the text length can be passed e.g. by "accerciser" or screen readers, which previously resulted in an 'IndexOutOfBoundsException' being thrown when the index was later checked in the call to 'VCLXAccessibleStatusBarItem::getCharacterAttributes'. See also 'IAccessibleText::attributes' documentation at [2] and the page on special offset values referenced there [3]. [1] https://code.qt.io/cgit/qt/qtbase.git/tree/src/widgets/accessible/qaccessiblewidgets.cpp?h=5.12.4#n791 [2] https://accessibility.linuxfoundation.org/a11yspecs/ia2/docs/html/interface_i_accessible_text.html#a29e5c8f69ec13c683ed6bca53333e6a5 [3] https://accessibility.linuxfoundation.org/a11yspecs/ia2/docs/html/_general_info.html#_specialOffsets Change-Id: I623995aeb689b31c5b49fb3ace8e4dd4c18927d2 Reviewed-on: https://gerrit.libreoffice.org/73225 Tested-by: Jenkins Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de> (cherry picked from commit 93c81657c6111b4bb97a2bb9ec155465f9a6f523) Reviewed-on: https://gerrit.libreoffice.org/73379
2019-05-31tdf#124484: resize slideshow window so it spans all displaysKatarina Behrens2-15/+62
Change-Id: I55b4ab8ec5059110525c5194e1133c65bbd07fec Reviewed-on: https://gerrit.libreoffice.org/73183 Tested-by: Jenkins Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de> Reviewed-on: https://gerrit.libreoffice.org/73257 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2019-05-31tdf#124484: avoid crash in fullscreen slideshow spanning all displaysKatarina Behrens1-3/+17
This just stops the bleeding (crash) in a special case when screen number argument of SalFrame::ShowFullScreen is -1 (meaning 'fullscreen spanning all available displays') It doesn't yet extend the fullscreen window over all screens, this will be done in a follow-up fix Change-Id: I2cf48096a1fe1ec33c943f10acb41c59585b325f Reviewed-on: https://gerrit.libreoffice.org/71965 Tested-by: Jenkins Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de> (cherry picked from commit 758c44f69f0a0ed4a501695de4f065824325e750) Reviewed-on: https://gerrit.libreoffice.org/73256 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2019-05-31Revert "tdf#123011 Detect kde5 desktop in Plasma Wayland session"Michael Weghorn1-5/+7
kde5 plugin on Wayland still shows too many issues, like e.g. tdf#123654 and was barely tested, so don't use it by default in libreoffice-6-2 branch, but prefer gtk3. This does not affect the X11 case. This reverts commit 3e4478103ee1ba912d650ab447ed246f5f1cc196. Change-Id: I7f74a6b5f377f65b81cf5ae189e8672bdce82c95 Reviewed-on: https://gerrit.libreoffice.org/73193 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2019-05-30tdf#125548 Qt5 no focus for the menu bar buttonJan-Marek Glogowski1-0/+1
You can't tab into the menu bar, but if you add a corner widget, it will be enlisted in the parent's focus chain! Interestingly the menu bar even is considered to have the focus, if the widget is focused, and will handle key events, but this can probably be considered consistent. So this just denies the button any focus, as this is a mouse-only widget, and clicking it will close the document window. Change-Id: I3c48d85ca56b6a54daf01f444dddc736e7ebb8e7 Reviewed-on: https://gerrit.libreoffice.org/73186 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> (cherry picked from commit f6e7dbccf063767c2ac87c6460bd1004df742081) Reviewed-on: https://gerrit.libreoffice.org/73191 Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2019-05-29tdf#125415 vcl menu floating window: avoid flickerMiklos Vajna1-13/+23
This is similar to e8d5b8beb5958147235ff955ed38c47b51d860ff (tdf#113714 vcl menu bar window: avoid flicker, 2019-05-20), except that was for the menu bar window, and this is for the floating window opening from that one. (cherry picked from commit c04169c586ef1d55b1d0ac469bb4fbd4f50bd08a) Change-Id: Ib24f4999ad3e8cbbecc058368e9d112e106e9178 Reviewed-on: https://gerrit.libreoffice.org/72726 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-05-29tdf#125413 vcl menu bar window: fix non-NWF backgroundMiklos Vajna1-0/+4
Windows (by default) and gtk3 paints its own background, but e.g. the Linux gen backend does not; so make sure that we not only copy from the buffer, but also initialize it. This restores the gradient background of the main menu with the Linux gen backend. (cherry picked from commit a2da909adfe07d5a093485cc28283f5c100946ba) Change-Id: I5ce8cc734f64bc1d57d343caf22071e6aa63a69f Reviewed-on: https://gerrit.libreoffice.org/72685 Tested-by: Xisco Faulí <xiscofauli@libreoffice.org> Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-05-29tdf#113714 vcl menu bar window: avoid flickerMiklos Vajna1-14/+22
Regression from commit 458a827e96523ac52d021f1fd3653b5a734940c0 (further refactor Menu to use RenderContext, 2015-05-15), if we do full paint instead of incremental paint, then need to ensure that an intermediate state is not painted. Paint happens at idle time by default on Windows (OpenGL) and also on Linux (gtk3), but some other backends like Windows GDI had flicker, this fixes the problem. (cherry picked from commit e8d5b8beb5958147235ff955ed38c47b51d860ff) Change-Id: I530166cea93513aec4648dd0a385359f4b998b6f Reviewed-on: https://gerrit.libreoffice.org/72673 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-05-28tdf#125271 under wayland without gtksink, try waylandsinkCaolán McNamara6-2/+59
and if there is no videosink then give up Change-Id: I6b60e7be1e77dbf5c4c277ccf47a4d121f3cd6a5 Reviewed-on: https://gerrit.libreoffice.org/72871 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-on: https://gerrit.libreoffice.org/73087 Reviewed-by: Michael Stahl <Michael.Stahl@cib.de> Tested-by: Jenkins
2019-05-24tdf#123957 Qt5 IM generate correct formatingJan-Marek Glogowski1-3/+39
Actually really evaluate some of the formating provided by the QInputMethodEvent::TextFormat attribute and not blindly underline all of the text. This evaluates the same formating that the gtk3 backend evaluates from pango, so the result should be somehow on par. Couldn't find a way to test the red strike-out text. Don't know how often I typed hyoujunnsutairu to test this bug, which - according to Google - translates to "standard style". Reviewed-on: https://gerrit.libreoffice.org/71783 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> (cherry picked from commit da3103365f9574307f70f3f2bae2a3dc461915c1) This includes 48e44b367a6fde947963de0d896e5d276a7f231e Change-Id: I4263df6dc1e0e5ce5d8cb0be681656ccd662a830 Reviewed-on: https://gerrit.libreoffice.org/71990 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2019-05-24qt5: Fix buildMichael Weghorn5-9/+9
The utility constructor using 'StockImage::Yes' was only introduced in master commit 0f104bf33530467380044b9eb4cd3f8bd9c283f1 and is therefore not available in libreoffice-6-2 branch. Build was therefore broken by commit f10c1c648e698b48dfaa679a4909b3d9de6ed868 ("tdf#123549 Qt5 implement Qt5Menu::ShowCloseButton"), which first went unnoticed since qt5/kde5 wasn't enabled for CI builds on branch libreoffice-6-2. (This will be changed by https://gerrit.libreoffice.org/#/c/72741/ .) Also, add a missing include that lead to kde5-enabled CI builds failing [1], which I couldn't reproduce locally ("shell/source/backends/kde5be/kde5backend.cxx:190:5: error: ‘unique_ptr’ is not a member of ‘std’"). And fix more issues showing up in [2] and follow-up builds of the change that enables kde5 on the 6.2 branch [3]. [1] https://ci.libreoffice.org/job/gerrit_62/1535/ [2] https://ci.libreoffice.org/job/gerrit_62/1540/ [3] https://gerrit.libreoffice.org/#/c/72741/ Change-Id: I6a39a99114d15808b790242c96d0204916a0cc40 Reviewed-on: https://gerrit.libreoffice.org/72779 Reviewed-by: Michael Stahl <Michael.Stahl@cib.de> Tested-by: Jenkins
2019-05-23tdf#124027: use ID of the embedded windowKatarina Behrens1-1/+1
after many trials and errors what LibO apparently expects here is the ID of QWindow parent of [embedded] system child window (the rest of the original commit bbe1ede0fada499fd49b60bdc7964e311b331454 is not relevant for LibO 6.2) Change-Id: Ie4c6d14a50959c0fdd04e745918d4889c9da45ec Reviewed-on: https://gerrit.libreoffice.org/72458 Tested-by: Jenkins Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de> Reviewed-on: https://gerrit.libreoffice.org/72769 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Michael Weghorn <m.weghorn@posteo.de>
2019-05-22Qt5Menu.hxx: Add missing include/forward-declarationMichael Weghorn1-0/+3
Since 'QObject' and the 'Q_OBJECT' macro are used, the corresponding header needs to be included. Without the include and forward-declaration given here, the compiler doesn't know about 'QObject' and 'QAction' which are used further below, unless another header that takes care of this is included before 'QtMenu.hxx'. The error could be provoked e.g. by moving the '#include <Qt5Menu.hxx>' in front of all other includes in 'vcl/qt5/Qt5Frame.cxx'. Change-Id: I76c15eb445cbe26774d6e4177e12c93658daf0ad Reviewed-on: https://gerrit.libreoffice.org/65130 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> (cherry picked from commit 4ad69820b0614801ce0b43fd0adb53131d12a7b6) Reviewed-on: https://gerrit.libreoffice.org/72733 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-05-22tdf#123750 kde5: Show removable devices in file dialogMichael Weghorn1-6/+3
As the Qt documentation for 'QFileDialog::supportedSchemes' says, setting supported schemes to a non-empty list restricts the available options: "Setting this property allows to restrict the type of URLs the user will be able to select. It is a way for the application to declare the protocols it will support to fetch the file content. An empty list means that no restriction is applied (the default)." The call to 'QFileDialog::setSupportedSchemes' was copied over from the gtk3_kde5 VCL plugin in commit 6196b7292fbb3168c558e64881601148c15653e4, where it had been added by commit f1b60bd62daff4aaf6465caadd4ad0c447521102 "Support opening of (some) remote URLs through the KDE file dialog". Since only either all schemes (if nothing explicitly set) or a whitelist of supported locations seems to be possible (s.a. the Phabricator changes referenced in the commit message of commit f1b60bd62daff4aaf6465caadd4ad0c447521102), add the "" scheme that makes removable devices shown -- while there doesn't seem to be an official documentation on the available schemes, at least not in KFileWidget's API documentation [1]. A quick test with all new available options after removing the call to 'QFileDialog::setSupportedSchemes' altogether indicated that opening and saving files there doesn't work reliably in all cases, so rather excplicitly add the "" scheme rather than claiming support for all schemes (including e.g. "timeline", "search", "remote", "trash"). [1] https://api.kde.org/frameworks/kio/html/classKFileWidget.html Change-Id: I89dc37d0f06d280e5dd599f90768c13e8edb915b Reviewed-on: https://gerrit.libreoffice.org/71320 Tested-by: Jenkins Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de> (cherry picked from commit 2c69c93fdb871809825fe8b9aff40b7afb093be8) Reviewed-on: https://gerrit.libreoffice.org/72750 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2019-05-22tdf#119856 vcl: convert Qt5FilePicker and Qt5Menu to RunInMainThreadMichael Stahl8-292/+152
... and also convert KDE5FilePicker. And Qt5Frame. The UNO methods in Qt5FilePicker/KDE5FilePicker have to ensure that the thread actually owns SolarMutex, because if RunInMainThread() is called without that it will deadlock. Change-Id: Ie4d2f494ac81c799ec7c9a3acb3a9b0f77bb6361 Reviewed-on: https://gerrit.libreoffice.org/68357 Tested-by: Jenkins Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de> (cherry picked from commit 7e251025b97ed2a300270b1a565727441005c77e) Reviewed-on: https://gerrit.libreoffice.org/72660 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2019-05-22tdf#119856 vcl: fix Qt warning Qt5Frame::SetModal()Michael Stahl1-12/+16
This prints a warning "Cannot create children for a parent that is in a different thread"; let's fix it before it causes another hard to debug crash. 0 check_parent_thread(QObject*, QThreadData*, QThreadData*) (parent=parent@entry=0xe88ca0, parentThreadData=<optimized out>, currentThreadData=<optimized out>) at kernel/qobject.cpp:781 1 check_parent_thread (currentThreadData=<optimized out>, parentThreadData=<optimized out>, parent=0xe88ca0) at kernel/qobject.cpp:822 2 QObject::QObject(QObject*) (this=0x9ed2e80, parent=0xe88ca0) at kernel/qobject.cpp:810 3 Adwaita::GenericData::GenericData(QObject*, QWidget*, int) () at /usr/lib64/qt5/plugins/styles/adwaita.so 4 Adwaita::WidgetStateEngine::registerWidget(QWidget*, QFlags<Adwaita::AnimationMode>) () at /usr/lib64/qt5/plugins/styles/adwaita.so 5 Adwaita::Animations::registerWidget(QWidget*) const () at /usr/lib64/qt5/plugins/styles/adwaita.so 6 Adwaita::Style::polish(QWidget*) () at /usr/lib64/qt5/plugins/styles/adwaita.so 7 QWidget::event(QEvent*) () at /lib64/libQt5Widgets.so.5 8 Qt5Widget::event(QEvent*) (this=0x7321790, pEvent=0x7f90c27d3750) at vcl/qt5/Qt5Widget.cxx:416 9 QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5 10 QApplication::notify(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5 11 QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x7321790, event=0x7f90c27d3750) at kernel/qcoreapplication.cpp:1047 12 QWidget::ensurePolished() const () at /lib64/libQt5Widgets.so.5 13 QWidget::setVisible(bool) () at /lib64/libQt5Widgets.so.5 14 Qt5Frame::SetModal(bool) (this=0x9f411b0, bModal=true) at vcl/qt5/Qt5Frame.cxx:482 Change-Id: Ib6b4d1ee859dfce650422a6c7860abf2eb2686f1 Reviewed-on: https://gerrit.libreoffice.org/68356 Tested-by: Jenkins Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de> (cherry picked from commit 69c46bf53363127033a83c019375170550308ae2) Reviewed-on: https://gerrit.libreoffice.org/72659 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2019-05-22tdf#119856 vcl: fix Qt5FilePicker destructor to run in main threadMichael Stahl1-1/+11
During QFileDialog dtor, QSocketNotifier::setEnabled(false) is called, but it doesn't do anything other than print a stupid warning and so it's still registered and later it receives events after it's dead. 0 QSocketNotifier::setEnabled(bool) (this=this@entry=0x991c058, enable=enable@entry=false) at kernel/qsocketnotifier.cpp:240 1 QInotifyFileSystemWatcherEngine::~QInotifyFileSystemWatcherEngine() (this=0x991c030, __in_chrg=<optimized out>) at io/qfilesystemwatcher_inotify.cpp:260 2 QInotifyFileSystemWatcherEngine::~QInotifyFileSystemWatcherEngine() (this=0x991c030, __in_chrg=<optimized out>) at io/qfilesystemwatcher_inotify.cpp:258 3 QObjectPrivate::deleteChildren() (this=this@entry=0x991c240) at kernel/qobject.cpp:1997 4 QObject::~QObject() (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1025 5 QFileSystemWatcher::~QFileSystemWatcher() (this=0x9641b60, __in_chrg=<optimized out>) at io/qfilesystemwatcher.cpp:277 6 QObjectPrivate::deleteChildren() (this=this@entry=0x2a30130) at kernel/qobject.cpp:1997 7 QObject::~QObject() (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1025 8 QThread::~QThread() (this=0x2a079b8, __in_chrg=<optimized out>) at thread/qmutex.h:217 9 () at /lib64/libQt5Widgets.so.5 10 QScopedPointerDeleter<QObjectData>::cleanup(QObjectData*) (pointer=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:52 11 QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::~QScopedPointer() (this=0x98aa4d8, __in_chrg=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:107 12 QObject::~QObject() (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:884 13 QFileSystemModel::~QFileSystemModel() () at /lib64/libQt5Widgets.so.5 14 QObjectPrivate::deleteChildren() (this=0x97bab00) at kernel/qobject.cpp:1997 15 QWidget::~QWidget() () at /lib64/libQt5Widgets.so.5 16 QFileDialog::~QFileDialog() () at /lib64/libQt5Widgets.so.5 17 std::default_delete<QFileDialog>::operator()(QFileDialog*) const (this=0x9770f90, __ptr=0x926e970) at /usr/include/c++/8/bits/unique_ptr.h:81 18 std::unique_ptr<QFileDialog, std::default_delete<QFileDialog> >::~unique_ptr() (this=0x9770f90, __in_chrg=<optimized out>) at /usr/include/c++/8/bits/unique_ptr.h:274 19 Qt5FilePicker::~Qt5FilePicker() (this=0x9770ed0, __in_chrg=<optimized out>) at vcl/qt5/Qt5FilePicker.cxx:155 Change-Id: Iddfa3d44de59e1760e20a389566d9e6815ab26f7 Reviewed-on: https://gerrit.libreoffice.org/68355 Tested-by: Jenkins Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de> (cherry picked from commit 621bebd8640feeb5f8e15fafac1425cb18bd28e4) Reviewed-on: https://gerrit.libreoffice.org/72658 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2019-05-22tdf#119856 vcl: Qt5/KDE5 RunInMainThreadMichael Stahl4-32/+181
The problem with the current approach of transferring calls to the main thread with Q_EMIT signals is that if the code that should run in the main thread needs SolarMutex, then the non-main-thread must use SolarMutexReleaser - but then the main thread will run not only the call that is needed right now, but will potentially process all pending events, and the other thread hasn't prepared for that. We need the inter-thread feature of Qt::BlockingQueuedConnection and the non-queued feature of Qt::DirectConnection, but this combination doesn't appear to exist. So the SolarMutexReleaser needs to go - but then the main thread does need SolarMutex for some things, and hence we need to trick it into believing it has SolarMutex with the m_bNoYieldLock hack. Then it becomes apparent that the main thread may be blocked on either Qt events, which is fine, or on the SalYieldMutex's m_aMutex, which will never be released now. So the main thread must never block on m_aMutex; the alternative is to use the same approach as the osx code (and, in a somewhat different form, the svp code), and add some condition variables on which the main thread can block if it fails to acquire the m_aMutex immediately. It's even possible to do this in a somewhat generic way with lambdas. This does appear to work, but it makes the Q_EMIT approach entirely untenable, because now the main thread will be blocked on the condition variable and the non-main-thread will be blocked until the Qt event is processed. Reviewed-on: https://gerrit.libreoffice.org/68232 Tested-by: Jenkins Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de> (cherry picked from commit 265caa4381c048c346c907b017561ab0fe0367ff) Change-Id: I6480a6b909d5ec8814b2ff10dbefb0f3686a83c7 Reviewed-on: https://gerrit.libreoffice.org/72657 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2019-05-22kde5 fpicker: Reuse 'initialize()' from base classMichael Weghorn4-125/+8
Take over missing case from 'KDE5FilePicker::initialize' to 'Qt5FilePicker::initialize' and make 'Qt5FilePicker::addCustomControl' virtual, so that the subclass's implementation is called in the 'initialize()' method (in particular to avoid adding another autoextension checkbox). Drop the 'KDE5FilePicker::initialize' so that the base class implementation is used, which now does the same thing. Add 'override' keyword in KDE5Filepicker.hxx. Change-Id: Id151a4d4862af4275f6c21c6537a79c52e3ed513 Reviewed-on: https://gerrit.libreoffice.org/68059 Tested-by: Jenkins Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de> (cherry picked from commit 77d5795f9e79a996fa6ee8153f7bc565c4440b02) Reviewed-on: https://gerrit.libreoffice.org/72656
2019-05-22Make 'setDefaultName()' work again for kde5 fpickerMichael Weghorn3-4/+10
Add an option to Qt5FilePicker constructor to say whether the QFileDialog should be a native one or not, since 'QFileDialog::selectFile' does not preselect the correct name in the native dialog any more if the 'QFileDialog::DontUseNativeDialog' option has ever been set, i.e. QFileDialog fileDialog; fileDialog.setOption(QFileDialog::DontUseNativeDialog); fileDialog.setOption(QFileDialog::DontUseNativeDialog, false); fileDialog.selectFile("test.txt"); will not properly set the name in the native file dialog, which broke 'setDefaultName' for the KDE5FilePicker. This makes it work again, even though I think that the underlying issue is a Qt bug (s. https://bugreports.qt.io/browse/QTBUG-73682 ). Change-Id: I99a1e7c97d594925d600fa8eaf3303f9013551c2 Reviewed-on: https://gerrit.libreoffice.org/68058 Tested-by: Jenkins Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de> (cherry picked from commit 1d01ebc84867af00825512a3a3cfd9d0fa15eea9) Reviewed-on: https://gerrit.libreoffice.org/72655