summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-06-16tdf#133268: Update non cmd icons, update Glue point iconsRizal Muttaqin
- Update some menubar visibility Change-Id: I7a464691b8608d01f0a8b3924c37e0fd510df45c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96468 Tested-by: Jenkins Reviewed-by: Rizal Muttaqin <riz_17_oke@yahoo.co.id>
2020-06-16vcl: namespace PDFWriterImpl consistentlyMiklos Vajna
We had a mix of 'using namespace vcl;' and 'namespace vcl {', standardize on the later. Change-Id: I088bb0e0c03f712242427bf6a0b31dd17755b9dc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96475 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2020-06-16tdf#106234 sw: don't justify after centered tabsLászló Németh
(also after right-aligned and decimal-aligned tabs) before the page break in a justified paragraph. Justify only after left-aligned tabs, like MSO does. Regression from commit 07dcbed5fb6d88f69d84313ddede81c222a5a7a6 (INTEGRATION: CWS fmebugs01 (1.15.104); FILE MERGED 2004/02/09 15:13:57 fme 1.15.104.1: #i13507# Justified alignment for lines containing manual breaks). See also commit 5d7b3475278f59a423c2139ae51f9b4849621890 (INTEGRATION: CWS swqbf34 (1.17.96); FILE MERGED 2005/06/29 12:12:25 fme 1.17.96.2: #i49277# New compatibility option bDoNotJustifyLinesWithManualBreak). Change-Id: Ib92e301aaf46eec283c0850d23549b1b54106068 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96438 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2020-06-16size width request to fit column hintCaolán McNamara
Change-Id: I1439984e4ff52bebb1c1e777c1cdffcc5820c169 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96472 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-06-16sfx2: add uitest for pdf signingMiklos Vajna
Fails with 058caeef45f9abf12e4e243aafbbb1c2ebcbc057 (tdf#130354 sfx2: make PDF signing UI work again, 2020-06-02) reverted. Change-Id: I4f4ffaeed4b93c033bc2fdaa76ff817d172c8853 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96469 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2020-06-16macOS fix langpack installer with manually selected .app directoryChristian Lohmaier
For cases when there are multiple matching apps where the Languagepack might be installed to, the "make sure to launch LO once before installing the langpack" mechanism can fail. Even if it is the call "tell application <selection> to activate" that fails, the error handler assumes that the untar operation didn't work and suggests to retry with admin privileges, modifying the .app bundle before having it started once (AKA verified by gatekeeper), breaking the app. Passing the full path to the application object should fix that. Change-Id: I47d61ad68e225fbdba191702ba85598164602e81 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96449 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2020-06-16sd signature line: access the pdf shape from the appearance writerMiklos Vajna
PDFDocument::WriteAppearanceObject() is where we can turn the pdf data (containing a single shape only) into a form XObject, later. Change-Id: Id042c95af4a867d3997d6f7742a18659b8925c12 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96455 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2020-06-16Document that accessing an empty bitmap is legalStephan Bergmann
It no longer triggers an assert in --enable-assert-always-abort builds since 2293aa3a15a0fc0566c0e15872fdc215d0ab2fe6 "Remove dubious assert 'Forbidden Access to empty bitmap!'". Change-Id: I1c50b7f167fa1e1ba0b465934eabd195285abd4b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/80437 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-06-16mac langpack script: simplify mdfind call to not use wildcard matchChristian Lohmaier
I think this is leftover from very early development stages when it didn't have placeholders, but literal OpenOffice or similar at the time. Not matching for wildcard but for full LibreOffice/LibreOfficeDev string makes removing the languagepacks from the match superfluous It was wrong anyway, since kMDItemDisplayName has the name without the .app extension (you'd have to use _kMDItemDisplayNameWithExtensions for that) Change-Id: I37b1ed2d23ea18fd81a8844f35c9cb0d5dc34211 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96441 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2020-06-16tdf#129247: sw: Add unittestXisco Fauli
Change-Id: Ifda47fdaa40fb6792872afc15405e06ccba40fe8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96450 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2020-06-16sd signature line: export shape with signature to PDFMiklos Vajna
So that later this can be used when writing the appearance object of the pdf signature. Change-Id: I98517b88723de8ffdc982d4eaae7225289603f1c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96451 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2020-06-16Add more debug for mal-formed xml.Michael Meeks
Change-Id: I905d54ade7fdce992b0ff6e81d51915b43acd2ed Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96434 Tested-by: Jenkins Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2020-06-16sw: fix type of FieldsToCalc() parameterMichael Stahl
Change-Id: Ic59c65f67c9479c5d43bef4abd67b8e4ee4192b7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96128 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2020-06-16tdf#133511 adjust langpack script for removal of CFBundleGetInfoStringChristian Lohmaier
3a028418190790c3bbaf6e505ff55b7bb8c0b474 removed the string from Info.plist, but the languagepack install script tried to use that to make sure whatever the user selects/is found is from the dame type (dev vs release and codeline/version). Instead of doing multiple greps/multiline ones (there are multiple version strings in that file, only one being from LO itself…) use mdls instead to pick the interesting properties to build a "PRODUCTNAME FULLVERSION" string again we can match against. --raw switch is nul separated, so add additional xargs -0 in there instead of trying to match a nul with grep (without --raw it is a nice human readable multiline string) Change-Id: I049a8425709a0c41b61aa09452490b481d39e4d9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96439 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2020-06-16tdf#133605: docx import: use ilvl value for list level importVasily Melenchuk
Previous implementation was not aware about ilvl value which declares a level number it is defining. So LO was able correctly handle only lists were levels are defined in increasing order starting from zero. Same problem was also with override lists: if we just override only one some random level (for example ilvl=2 in bugdoc) it was applied to level 0. Change-Id: If1f466fcbae0c82a8601e5b638e541d75aab665c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96268 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2020-06-16Remove dubious assert "Forbidden Access to empty bitmap!"Stephan Bergmann
It had been added with d46c32140fdb05758c039dd27552b1788faac104 "assert in BitmapInfoAccess if bitmap is empty or we can't read from it", and <https://gerrit.libreoffice.org/c/core/+/55416/2# message-9db4353d06f66af8f8389d8ed9b84bd89209caf4> had argued: "This does not make sense. Either xImpBmp must be true here (in which case the following 'if' is an error) or not (in which case the assert is an error). Which is it?" To which <https://gerrit.libreoffice.org/c/core/+/55416/2# message-6a8c692d96ad63f78262909afa78a4222072f8c2> had responded: "because I wanted to catch problems in debug/assert mode, but still allow release builds to 'work', to some degree. Since this assert hasn't resulted in any bug reports yet, I think we can remove the if now" (but note that that removal apparently never happened until now; and <https://bugs.documentfoundation.org/show_bug.cgi?id=128001> "Assertion when accessing animation properties from sidebar" documents a case where it appears that the assert did help to highlight a real---albeit transient---error). But e.g. <https://ci.libreoffice.org/job/lo_tb_master_linux_dbg/29921/> now triggered that assert during CppunitTest_sw_uiwriter at > #7 0x00002acd75c651a6 in __assert_fail_base () at /lib64/libc.so.6 > #8 0x00002acd75c65252 in () at /lib64/libc.so.6 > #9 0x00002acd82871aa6 in BitmapInfoAccess::BitmapInfoAccess(Bitmap&, BitmapAccessMode) (this=0x5255030, rBitmap=..., nMode=Write) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/Python Exception <class 'gdb.error'> There is no member or method named _M_head_impl.: > vcl/source/gdi/bmpacc.cxx:38 > xImpBmp = std::shared_ptr (empty) 0x0 > #10 0x00002acd82871e36 in BitmapReadAccess::BitmapReadAccess(Bitmap&, BitmapAccessMode) (this=0x5255030, rBitmap=..., nMode=Write) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/gdi/bmpacc.cxx:89 > #11 0x00002acd828727b4 in BitmapWriteAccess::BitmapWriteAccess(Bitmap&) (this=0x5255030, rBitmap=...) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/gdi/bmpacc.cxx:355 > #12 0x00002acd82afbdae in Bitmap::AcquireWriteAccess() (this=0x7ffcfba67700) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/bitmap/bitmap.cxx:413 > pWriteAccess = > #13 0x00002acd8276ce03 in vcl::ScopedBitmapAccess<BitmapWriteAccess, Bitmap, &Bitmap::AcquireWriteAccess>::ScopedBitmapAccess(Bitmap&) (this=0x7ffcfba676e0, rBitmap=...) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/include/vcl/scopedbitmapaccess.hxx:53 > #14 0x00002acd82b07bec in BitmapDisabledImageFilter::execute(BitmapEx const&) const (this=0x7ffcfba67a88, rBitmapEx=...) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/bitmap/BitmapDisabledImageFilter.cxx:28 > aSize = Size = {width = 0, height = 0} > nBitCount = 8 > pPal = 0x2acd83a65980 <Bitmap::GetGreyPalette(int)::aGreyPalette256> > aGrey = {_vptr.Bitmap = 0x2acd83a16868 <vtable for Bitmap+16>, mxSalBmp = std::shared_ptr (empty) 0x0, maPrefMapMode = {mpImplMapMode = {m_pimpl = 0x1d91070}}, maPrefSize = Size = {width = 0, height = 0}} > pGrey = {mpAccess = 0x0, mpBitmap = 0x7ffcfba67700} > aReturnBitmap = {maBitmap = {_vptr.Bitmap = 0x0, mxSalBmp = std::shared_ptr (count -2107407548, weak 10956) 0x50ad5e8, maPrefMapMode = {mpImplMapMode = {m_pimpl = 0x2acd823407d9 <Bitmap::operator!() const+33>}}, maPrefSize = Size = {width = 140724530477216, height = 84596192}}, maMask = {_vptr.Bitmap = 0x7ffcfba678b0, mxSalBmp = std::shared_ptr (count -1736603320, weak -1871345337) 0x2acd82638344 <BitmapEx::operator!() const+24>, maPrefMapMode = {mpImplMapMode = {m_pimpl = 0x50ad560}}, maPrefSize = Size = {width = 140724530477664, height = 47062149486690}}, maBitmapSize = Size = {width = 4607182418800017408, height = 84596016}, maTransparentColor = rgb(0, 0, 0), meTransparent = NONE, mbAlpha = false} > aReadBitmap = {_vptr.Bitmap = 0xffffffff00000000, mxSalBmp = std::shared_ptr (count 7274595, weak 6881387) 0x215a600, maPrefMapMode = {mpImplMapMode = {m_pimpl = 0x2acd752acaa9 <__gnu_debug::_Safe_sequence_base::_M_get_mutex()+9>}}, maPrefSize = Size = {width = 0, height = 0}} > pRead = {mpAccess = 0x0, mpBitmap = 0x0} > #15 0x00002acd82aff64a in BitmapFilter::Filter(BitmapEx&, BitmapFilter const&) (rBmpEx=..., rFilter=...) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/bitmap/bitmapfilter.cxx:22 > aTmpBmpEx = {maBitmap = {_vptr.Bitmap = 0x0, mxSalBmp = std::shared_ptr (count -2107407548, weak 10956) 0x50ad5e8, maPrefMapMode = {mpImplMapMode = {m_pimpl = 0x2acd823407d9 <Bitmap::operator!() const+33>}}, maPrefSize = Size = {width = 140724530477216, height = 84596192}}, maMask = {_vptr.Bitmap = 0x7ffcfba678b0, mxSalBmp = std::shared_ptr (count -1736603320, weak -1871345337) 0x2acd82638344 <BitmapEx::operator!() const+24>, maPrefMapMode = {mpImplMapMode = {m_pimpl = 0x50ad560}}, maPrefSize = Size = {width = 140724530477664, height = 47062149486690}}, maBitmapSize = Size = {width = 4607182418800017408, height = 84596016}, maTransparentColor = rgb(0, 0, 0), meTransparent = NONE, mbAlpha = false} > #16 0x00002acd82b3da59 in ImplImage::getBitmapEx(bool) (this=0x50ad530, bDisabled=true) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/image/ImplImage.cxx:123 > aChecksum = 1063942691015340773 > #17 0x00002acd82b3dc35 in ImplImage::getBitmapExForHiDPI(bool) (this=0x50ad530, bDisabled=true) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/image/ImplImage.cxx:153 > #18 0x00002acd82b3aa6f in Image::Draw(OutputDevice*, Point const&, DrawImageFlags, Size const*) (this=0x5008650, pOutDev=0x4f695c0, rPos=Point = {...}, nStyle=Disable, pSize=0x0) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/image/Image.cxx:123 > aOutSize = Size = {width = 0, height = 0} > aRenderBmp = warning: can't find linker symbol for virtual table for `std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>' value > warning: found `typeinfo for DockingWindow' instead > warning: can't find linker symbol for virtual table for `std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>' value > warning: found `typeinfo for DockingWindow' instead > warning: can't find linker symbol for virtual table for `Bitmap' value > warning: found `typeinfo for DockingWindow' instead > warning: RTTI symbol not found for class '__cxxabiv1::__vmi_class_type_info' > warning: RTTI symbol not found for class '__cxxabiv1::__vmi_class_type_info' > Python Exception <class 'gdb.error'> There is no member or method named _M_head_impl.: > {maBitmap = {_vptr.Bitmap = 0x0, mxSalBmp = std::shared_ptr (expired, weak 0) 0x50ad5e8, maPrefMapMode = {mpImplMapMode = {m_pimpl = 0x2acd823407d9 <Bitmap::operator!() const+33>}}, maPrefSize = Size = {width = 140724530478112, height = 140724530478352}}, maMask = {_vptr.Bitmap = 0x2acd8398b038 <typeinfo for DockingWindow+32>, mxSalBmp = std::shared_ptr (count -2095382144, weak 10956) 0x0, maPrefMapMode = {mpImplMapMode = {m_pimpl = 0x4f695c0}}, maPrefSize = Size = {width = 83269056, height = 47061922066318}}, maBitmapSize = Size = {width = 83269056, height = 140724530478240}, maTransparentColor = rgb(0, 0, 0), meTransparent = NONE, mbAlpha = false} > #19 0x00002acd8277485c in OutputDevice::DrawImage(Point const&, Size const&, Image const&, DrawImageFlags) (this=0x4f695c0, rPos=Point = {...}, rSize=Size = {...}, rImage=..., nStyle=Disable) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/outdev/bitmap.cxx:1466 > rNonConstImage = @0x5008650: {mpImplData = std::shared_ptr (count 1, weak 0) 0x50ad530} > __PRETTY_FUNCTION__ = "void OutputDevice::DrawImage(const Point&, const Size&, const Image&, DrawImageFlags)" > bIsSizeValid = false > #20 0x00002acd82774786 in OutputDevice::DrawImage(Point const&, Image const&, DrawImageFlags) (this=0x4f695c0, rPos=Point = {...}, rImage=..., nStyle=Disable) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/outdev/bitmap.cxx:1450 > __PRETTY_FUNCTION__ = "void OutputDevice::DrawImage(const Point&, const Image&, DrawImageFlags)" > #21 0x00002acd8257a3da in ToolBox::ImplDrawItem(OutputDevice&, unsigned long, unsigned short) (this=0x4f695c0, rRenderContext=..., nPos=0, nHighlight=0) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/window/toolbox.cxx:2697 > pImage = 0x5008650 > nImageStyle = Disable > pItem = 0x5008630 > rStyleSettings = @0x2159a50: {mxData = std::shared_ptr (count 3, weak 0) 0x215a210} > bHasOpenPopup = false > bHighContrastWhite = false > aBtnSize = Size = {width = 7, height = 7} > aButtonRect = {static RECT_EMPTY = -32767, nLeft = 0, nTop = 8, nRight = 6, nBottom = 14} > nOffX = 3 > nOffY = 11 > nImageOffX = 3 > nImageOffY = 11 > nStyle = NONE > bImage = true > bText = false > tmpButtonType = SYMBOLONLY > nBtnWidth = 0 > nBtnHeight = 0 > aImageSize = Size = {width = 0, height = 0} > aTxtSize = Size = {width = 0, height = 0} > bRotate = 158 > #22 0x00002acd8257d230 in ToolBox::Paint(OutputDevice&, tools::Rectangle const&) (this=0x4f695c0, rRenderContext=..., rPaintRect=...) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/window/toolbox.cxx:3491 > nHighlight = 0 > pItem = 0x5008630 > i = 0 > nHighPos = 18446744073709551615 > nCount = 3 > #23 0x00002acd8235e803 in PaintHelper::DoPaint(vcl::Region const*) (this=0x7ffcfba68280, pRegion=0x691b9a0) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/window/paint.cxx:311 > aBackground = {mpImplWallpaper = {m_pimpl = 0x4ddb8a0}} > pWindowImpl = 0x344a620 > pWinChildClipRegion = 0x344aa10 > pFrameData = 0x50962e0 > #24 0x00002acd8235fd24 in vcl::Window::ImplCallPaint(vcl::Region const*, ImplPaintFlags) (this=0x4f695c0, pRegion=0x691b9a0, nPaintFlags=(PaintAll | PaintChildren | Erase)) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/window/paint.cxx:615 > aHelper = {m_pWindow = {_vptr.VclPtr = 0x2acd8392fa18 <vtable for VclPtr<vcl::Window>+16>, m_rInnerRef = rtl::Reference to 0x4f695c0}, m_pChildRegion = , m_aSelectionRect = {static RECT_EMPTY = -32767, nLeft = 0, nTop = 0, nRight = -32767, nBottom = -32767}, m_aPaintRect = {static RECT_EMPTY = -32767, nLeft = 0, nTop = 0, nRight = 20, nBottom = 22}, m_aPaintRegion = {mpB2DPolyPolygon = std::shared_ptr (empty) 0x0, mpPolyPolygon = std::shared_ptr (empty) 0x0, mpRegionBand = std::shared_ptr (count 2, weak 0) 0x51d40a0, mbIsNull = false}, m_nPaintFlags = (PaintAll | PaintCPython Exception <class 'gdb.error'> There is no member or method named _M_head_impl.: > Python Exception <class 'gdb.error'> There is no member or method named _M_head_impl.: > Python Exception <class 'gdb.error'> There is no member or method named _M_head_impl.: > hildren | Erase), m_bPop = true, m_bRestoreCursor = false, m_bStartedBufferedPaint = false} > #25 0x00002acd8235f6e2 in PaintHelper::~PaintHelper() (this=0x7ffcfba683f0, __in_chrg=<optimized out>) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/window/paint.cxx:551 > pTempWindow = 0x4f695c0 > pWindowImpl = 0x4ec5e30 > pFrameData = 0x50962e0 > #26 0x00002acd8235fd7d in vcl::Window::ImplCallPaint(vcl::Region const*, ImplPaintFlags) (this=0x505c2f0, pRegion=0x2b017b0, nPaintFlags=(PaintAllChildren | PaintChildren | Erase)) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/window/paint.cxx:612 > aHelper = {m_pWindow = {_vptr.VclPtr = 0x2acd8392fa18 <vtable for VclPtr<vcl::Window>+16>, m_rInnerRef = rtl::Reference to 0x505c2f0}, m_pChildRegion = , m_aSelectionRect = {static RECT_EMPTY = -32767, nLeft = 0, nTop = 0, nRight = -32767, nBottom = -32767}, m_aPaintRect = {static RECT_EMPTY = -32767, nLeft = 219, nTop = 0, nRight = 224, nBottom = 22}, m_aPaintRegion = {mpB2DPolyPolygon = std::shared_ptr (empty) 0x0, mpPolyPolygon = std::shared_ptr (empty) 0x0, mpRegionBand = std::shared_ptr (count 1, weak 0) 0x3611760, mbIsNull = false}, m_nPaintFlags = (PaintAllChildren | PaintChildren | Erase), m_bPop = true, m_bRestoreCursor = false, m_bStartedBufferedPaint = false} > #27 0x00002acd8235f6e2 in PaintHelper::~PaintHelper() (this=0x7ffcfba68560, __in_chrg=<optimized out>) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/window/paint.cxx:551 > pTempWindow = 0x505c2f0 > pWindowImpl = 0x4e1bb50 > pFrameData = 0x50962e0 > #28 0x00002acd8235fd7d in vcl::Window::ImplCallPaint(vcl::Region const*, ImplPaintFlags) (this=0x4c02270, pRegion=0x4bd7f40, nPaintFlags=(PaintAllChildren | PaintChildren | Erase)) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/window/paint.cxx:612 > aHelper = {m_pWindow = {_vptr.VclPtr = 0x2acd8392fa18 <vtable for VclPtr<vcl::Window>+16>, m_rInnerRef = rtl::Reference to 0x4c02270}, m_pChildRegion = , m_aSelectionRect = {static RECT_EMPTY = -32767, nLeft = 0, nTop = 0, nRight = -32767, nBottom = -32767}, m_aPaintRect = {static RECT_EMPTY = -32767, nLeft = 0, nTop = 0, nRight = -32767, nBottom = -32767}, m_aPaintRegion = {mpB2DPolyPolygon = std::shared_ptr (empty) 0x0, mpPolyPolygon = std::shared_ptr (empty) 0x0, mpRegionBand = std::shared_ptr (empty) 0x0, mbIsNull = false}, m_nPaintFlags = (PaintAllChildren | PaintChildren | Erase), m_bPop = false, m_bRestoreCursor = false, m_bStartedBufferedPaint = false} > #29 0x00002acd8235f6e2 in PaintHelper::~PaintHelper() (this=0x7ffcfba686d0, __in_chrg=<optimized out>) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/window/paint.cxx:551 > pTempWindow = 0x4c02270 > pWindowImpl = 0x4dda7e0 > pFrameData = 0x50962e0 > #30 0x00002acd8235fd7d in vcl::Window::ImplCallPaint(vcl::Region const*, ImplPaintFlags) (this=0x50ce0a0, pRegion=0x56b3350, nPaintFlags=(PaintAllChildren | PaintChildren | Erase)) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/window/paint.cxx:612 > aHelper = {m_pWindow = {_vptr.VclPtr = 0x2acd8392fa18 <vtable for VclPtr<vcl::Window>+16>, m_rInnerRef = rtl::Reference to 0x50ce0a0}, m_pChildRegion = , m_aSelectionRect = {static RECT_EMPTY = -32767, nLeft = 0, nTop = 0, nRight = -32767, nBottom = -32767}, m_aPaintRect = {static RECT_EMPTY = -32767, nLeft = 0, nTop = 0, nRight = -32767, nBottom = -32767}, m_aPaintRegion = {mpB2DPolyPolygon = std::shared_ptr (empty) 0x0, mpPolyPolygon = std::shared_ptr (empty) 0x0, mpRegionBand = std::shared_ptr (empty) 0x0, mbIsNull = false}, m_nPaintFlags = (PaintAllChildren | PaintChildren | Erase), m_bPop = false, m_bRestoreCursor = false, m_bStartedBufferedPaint = false} > #31 0x00002acd8235f6e2 in PaintHelper::~PaintHelper() (this=0x7ffcfba68840, __in_chrg=<optimized out>) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/window/paint.cxx:551 > pTempWindow = 0x50ce0a0 > pWindowImpl = 0x52dfbe0 > pFrameData = 0Python Exception <class 'gdb.error'> There is no member or method named _M_head_impl.: > Python Exception <class 'gdb.error'> There is no member or method named _M_head_impl.: > Python Exception <class 'gdb.error'> There is no member or method named _M_head_impl.: > Python Exception <class 'gdb.error'> There is no member or method named _M_head_impl.: > x50962e0 > #32 0x00002acd8235fd7d in vcl::Window::ImplCallPaint(vcl::Region const*, ImplPaintFlags) (this=0x533f890, pRegion=0x56e6d40, nPaintFlags=(PaintAllChildren | PaintChildren | Erase)) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/window/paint.cxx:612 > aHelper = {m_pWindow = {_vptr.VclPtr = 0x2acd8392fa18 <vtable for VclPtr<vcl::Window>+16>, m_rInnerRef = rtl::Reference to 0x533f890}, m_pChildRegion = , m_aSelectionRect = {static RECT_EMPTY = -32767, nLeft = 0, nTop = 0, nRight = -32767, nBottom = -32767}, m_aPaintRect = {static RECT_EMPTY = -32767, nLeft = 0, nTop = 0, nRight = -32767, nBottom = -32767}, m_aPaintRegion = {mpB2DPolyPolygon = std::shared_ptr (empty) 0x0, mpPolyPolygon = std::shared_ptr (empty) 0x0, mpRegionBand = std::shared_ptr (empty) 0x0, mbIsNull = false}, m_nPaintFlags = (PaintAllChildren | PaintChildren | Erase), m_bPop = false, m_bRestoreCursor = false, m_bStartedBufferedPaint = false} > #33 0x00002acd8235f6e2 in PaintHelper::~PaintHelper() (this=0x7ffcfba689b0, __in_chrg=<optimized out>) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/window/paint.cxx:551 > pTempWindow = 0x533f890 > pWindowImpl = 0x4c53a60 > pFrameData = 0x50962e0 > #34 0x00002acd8235fd7d in vcl::Window::ImplCallPaint(vcl::Region const*, ImplPaintFlags) (this=0x51f0b20, pRegion=0x0, nPaintFlags=(PaintAllChildren | PaintChildren | Erase)) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/window/paint.cxx:612 > aHelper = {m_pWindow = {_vptr.VclPtr = 0x2acd8392fa18 <vtable for VclPtr<vcl::Window>+16>, m_rInnerRef = rtl::Reference to 0x51f0b20}, m_pChildRegion = , m_aSelectionRect = {static RECT_EMPTY = -32767, nLeft = 0, nTop = 0, nRight = -32767, nBottom = -32767}, m_aPaintRect = {static RECT_EMPTY = -32767, nLeft = 132, nTop = 6, nRight = 251, nBottom = 190}, m_aPaintRegion = {mpB2DPolyPolygon = std::shared_ptr (empty) 0x0, mpPolyPolygon = std::shared_ptr (empty) 0x0, mpRegionBand = std::shared_ptr (count 2, weak 0) 0x56822e0, mbIsNull = false}, m_nPaintFlags = (PaintAllChildren | PaintChildren | Erase), m_bPop = true, m_bRestoreCursor = false, m_bStartedBufferedPaint = false} > #35 0x00002acd8235f6e2 in PaintHelper::~PaintHelper() (this=0x7ffcfba68b20, __in_chrg=<optimized out>) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/window/paint.cxx:551 > pTempWindow = 0x51f0b20 > pWindowImpl = 0x4f521b0 > pFrameData = 0x50962e0 > #36 0x00002acd8235fd7d in vcl::Window::ImplCallPaint(vcl::Region const*, ImplPaintFlags) (this=0x4f0e7c0, pRegion=0x0, nPaintFlags=PaintChildren) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/window/paint.cxx:612 > aHelper = {m_pWindow = {_vptr.VclPtr = 0x2acd8392fa18 <vtable for VclPtr<vcl::Window>+16>, m_rInnerRef = rtl::Reference to 0x4f0e7c0}, m_pChildRegion = , m_aSelectionRect = {static RECT_EMPTY = -32767, nLeft = 0, nTop = 0, nRight = -32767, nBottom = -32767}, m_aPaintRect = {static RECT_EMPTY = -32767, nLeft = 0, nTop = 0, nRight = -32767, nBottom = -32767}, m_aPaintRegion = {mpB2DPolyPolygon = std::shared_ptr (empty) 0x0, mpPolyPolygon = std::shared_ptr (empty) 0x0, mpRegionBand = std::shared_ptr (empty) 0x0, mbIsNull = false}, m_nPaintFlags = PaintChildren, m_bPop = false, m_bRestoreCursor = false, m_bStartedBufferedPaint = false} > #37 0x00002acd8235f6e2 in PaintHelper::~PaintHelper() (this=0x7ffcfba68c90, __in_chrg=<optimized out>) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/window/paint.cxx:551 > pTempWindow = 0x4f0e7c0 > pWindowImpl = 0x4e5d6a0 > pFrameData = 0x50962e0 > #38 0x00002acd8235fd7d in vcl::Window::ImplCallPaint(vcl::Region const*, ImplPaintFlags) (this=0x50d33b0, pRegion=0x0, nPaintFlags=PaintChildren) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/window/paint.cxx:612 > aHelper = {m_pWindow = {_vptr.VclPtr = 0x2acd8392fa18 <vtable for VclPtr<vcl::Window>+16>, m_rInnerRef = rtl::Reference to 0x50d33b0}, m_pChildRegion = , m_aSelectionRect = {static RECT_EPython Exception <class 'gdb.error'> There is no member or method named _M_head_impl.: > Python Exception <class 'gdb.error'> There is no member or method named _M_head_impl.: > Python Exception <class 'gdb.error'> There is no member or method named _M_head_impl.: > MPTY = -32767, nLeft = 0, nTop = 0, nRight = -32767, nBottom = -32767}, m_aPaintRect = {static RECT_EMPTY = -32767, nLeft = 0, nTop = 0, nRight = -32767, nBottom = -32767}, m_aPaintRegion = {mpB2DPolyPolygon = std::shared_ptr (empty) 0x0, mpPolyPolygon = std::shared_ptr (empty) 0x0, mpRegionBand = std::shared_ptr (empty) 0x0, mbIsNull = false}, m_nPaintFlags = PaintChildren, m_bPop = false, m_bRestoreCursor = false, m_bStartedBufferedPaint = false} > #39 0x00002acd8235f6e2 in PaintHelper::~PaintHelper() (this=0x7ffcfba68e00, __in_chrg=<optimized out>) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/window/paint.cxx:551 > pTempWindow = 0x50d33b0 > pWindowImpl = 0x4ccb7f0 > pFrameData = 0x50962e0 > #40 0x00002acd8235fd7d in vcl::Window::ImplCallPaint(vcl::Region const*, ImplPaintFlags) (this=0x52e4de0, pRegion=0x0, nPaintFlags=PaintChildren) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/window/paint.cxx:612 > aHelper = {m_pWindow = {_vptr.VclPtr = 0x2acd8392fa18 <vtable for VclPtr<vcl::Window>+16>, m_rInnerRef = rtl::Reference to 0x52e4de0}, m_pChildRegion = , m_aSelectionRect = {static RECT_EMPTY = -32767, nLeft = 0, nTop = 0, nRight = -32767, nBottom = -32767}, m_aPaintRect = {static RECT_EMPTY = -32767, nLeft = 0, nTop = 0, nRight = -32767, nBottom = -32767}, m_aPaintRegion = {mpB2DPolyPolygon = std::shared_ptr (empty) 0x0, mpPolyPolygon = std::shared_ptr (empty) 0x0, mpRegionBand = std::shared_ptr (empty) 0x0, mbIsNull = false}, m_nPaintFlags = PaintChildren, m_bPop = false, m_bRestoreCursor = false, m_bStartedBufferedPaint = false} > #41 0x00002acd8235f6e2 in PaintHelper::~PaintHelper() (this=0x7ffcfba68f70, __in_chrg=<optimized out>) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/window/paint.cxx:551 > pTempWindow = 0x52e4de0 > pWindowImpl = 0x4cc8950 > pFrameData = 0x50962e0 > #42 0x00002acd8235fd7d in vcl::Window::ImplCallPaint(vcl::Region const*, ImplPaintFlags) (this=0x4d8bf30, pRegion=0x0, nPaintFlags=PaintChildren) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/window/paint.cxx:612 > aHelper = {m_pWindow = {_vptr.VclPtr = 0x2acd8392fa18 <vtable for VclPtr<vcl::Window>+16>, m_rInnerRef = rtl::Reference to 0x4d8bf30}, m_pChildRegion = , m_aSelectionRect = {static RECT_EMPTY = -32767, nLeft = 0, nTop = 0, nRight = -32767, nBottom = -32767}, m_aPaintRect = {static RECT_EMPTY = -32767, nLeft = 0, nTop = 0, nRight = -32767, nBottom = -32767}, m_aPaintRegion = {mpB2DPolyPolygon = std::shared_ptr (empty) 0x0, mpPolyPolygon = std::shared_ptr (empty) 0x0, mpRegionBand = std::shared_ptr (empty) 0x0, mbIsNull = false}, m_nPaintFlags = PaintChildren, m_bPop = false, m_bRestoreCursor = false, m_bStartedBufferedPaint = false} > #43 0x00002acd8235f6e2 in PaintHelper::~PaintHelper() (this=0x7ffcfba690e0, __in_chrg=<optimized out>) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/window/paint.cxx:551 > pTempWindow = 0x4d8bf30 > pWindowImpl = 0x4ccbd40 > pFrameData = 0x50962e0 > #44 0x00002acd8235fd7d in vcl::Window::ImplCallPaint(vcl::Region const*, ImplPaintFlags) (this=0x56eb630, pRegion=0x0, nPaintFlags=PaintChildren) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/window/paint.cxx:612 > aHelper = {m_pWindow = {_vptr.VclPtr = 0x2acd8392fa18 <vtable for VclPtr<vcl::Window>+16>, m_rInnerRef = rtl::Reference to 0x56eb630}, m_pChildRegion = , m_aSelectionRect = {static RECT_EMPTY = -32767, nLeft = 0, nTop = 0, nRight = -32767, nBottom = -32767}, m_aPaintRect = {static RECT_EMPTY = -32767, nLeft = 0, nTop = 0, nRight = -32767, nBottom = -32767}, m_aPaintRegion = {mpB2DPolyPolygon = std::shared_ptr (empty) 0x0, mpPolyPolygon = std::shared_ptr (empty) 0x0, mpRegionBand = std::shared_ptr (empty) 0x0, mbIsNull = false}, m_nPaintFlags = PaintChildren, m_bPop = false, m_bRestoreCursor = false, m_bStartedBufferedPaint = false} > #45 0x00002acd8235f6e2 in PaintHelper::~PaintHelper() (this=0x7ffcfba69250, __in_chrg=<optimized out>) at /home/tdf/lode/Python Exception <class 'gdb.error'> There is no member or method named _M_head_impl.: > jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/window/paint.cxx:551 > pTempWindow = 0x56eb630 > pWindowImpl = 0x4e06d10 > pFrameData = 0x50962e0 > #46 0x00002acd8235fd7d in vcl::Window::ImplCallPaint(vcl::Region const*, ImplPaintFlags) (this=0x5675000, pRegion=0x0, nPaintFlags=PaintChildren) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/window/paint.cxx:612 > aHelper = {m_pWindow = {_vptr.VclPtr = 0x2acd8392fa18 <vtable for VclPtr<vcl::Window>+16>, m_rInnerRef = rtl::Reference to 0x5675000}, m_pChildRegion = , m_aSelectionRect = {static RECT_EMPTY = -32767, nLeft = 0, nTop = 0, nRight = -32767, nBottom = -32767}, m_aPaintRect = {static RECT_EMPTY = -32767, nLeft = 0, nTop = 0, nRight = -32767, nBottom = -32767}, m_aPaintRegion = {mpB2DPolyPolygon = std::shared_ptr (empty) 0x0, mpPolyPolygon = std::shared_ptr (empty) 0x0, mpRegionBand = std::shared_ptr (empty) 0x0, mbIsNull = false}, m_nPaintFlags = PaintChildren, m_bPop = false, m_bRestoreCursor = false, m_bStartedBufferedPaint = false} > #47 0x00002acd8235fec4 in vcl::Window::ImplCallOverlapPaint() (this=0x5675000) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/window/paint.cxx:639 > pTempWindow = 0x0 > #48 0x00002acd8236003e in vcl::Window::ImplHandlePaintHdl(Timer*) (this=0x5675000) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/window/paint.cxx:662 > aZone = {m_sProfileId = 0x2acd830b598f "VCL idle re-paint", m_aCreateTime = 0, m_bConsole = false, static g_bRecording = {_M_base = {static _S_alignment = 1, _M_i = false}, static is_always_lock_free = true}} > #49 0x00002acd8235ff03 in vcl::Window::LinkStubImplHandlePaintHdl(void*, Timer*) (instance=0x5675000, data=0x50962e0) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/window/paint.cxx:643 > #50 0x00002acd82c4abb3 in Link<Timer*, void>::Call(Timer*) const (this=0x5096300, data=0x50962e0) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/include/tools/link.hxx:111 > #51 0x00002acd82c4aa4b in Timer::Invoke() (this=0x50962e0) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/app/timer.cxx:75 > #52 0x00002acd82c0061f in Scheduler::ProcessTaskScheduling() () at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/app/scheduler.cxx:478 > pTask = 0x50962e0 > aZone = {m_sProfileId = 0x2acd8313ad08 "vcl::Window maPaintIdle", m_aCreateTime = 0, m_bConsole = false, static g_bRecording = {_M_base = {static _S_alignment = 1, _M_i = false}, static is_always_lock_free = true}} > nLockCount = 1 > bTaskAlive = true > pSVData = 0x2acd83a85ee0 <rtl::Static<ImplSVData, (anonymous namespace)::private_aImplSVData>::get()::instance> > rSchedCtx = @0x2acd83a85f28: {mpFirstSchedulerData = {0x0, 0x4bf43c0, 0x0, 0x0, 0x0, 0x0, 0x505c870, 0x509e230}, mpLastSchedulerData = {0x0, 0x4d47ed0, 0x0, 0x0, 0x0, 0x0, 0x54eefd0, 0x5101b60}, mpSchedulerStack = 0x56e66a0, mpSchedulerStackTop = 0x56e66a0, mpSalTimer = 0x1e52f40, mnTimerStart = 1592278939202, mnTimerPeriod = 0, maMutex = {mnLockDepth = 0, maMutex = {mutex = 0xf9c630}}, mbActive = true} > aSchedulerGuard = {<No data fields>} > nTime = 1592278939202 > pSchedulerData = 0x505c870 > pPrevSchedulerData = 0x0 > pMostUrgent = 0x56e66a0 > pPrevMostUrgent = 0x0 > nMostUrgentPriority = 4 > nMinPeriod = 0 > nReadyPeriod = 0 > nTasks = 6 > nTaskPriority = 6 > __PRETTY_FUNCTION__ = "static bool Scheduler::ProcessTaskScheduling()" > #53 0x00002acd82bffa5d in Scheduler::CallbackTaskScheduling() () at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/app/scheduler.cxx:287 > #54 0x00002acd82e0c7b1 in SalTimer::CallCallback() (this=0x1e52f40) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/inc/saltimer.hxx:54 > #55 0x00002acd82e0b167 in SvpSalInstance::CheckTimeout(bool) (this=0xfa0f70, bExecuteTimers=true) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/headless/svpinst.cxx:209 > aGuard = {pT = 0xf973d0} > pSVData = 0x2acd83a85ee0 <rtl::Static<ImplSVData, (anonymous namespace)::private_aImplSVData>::get()::instance> > aTimeOfDay = {tv_sec = 1592278939, tv_usec = 202344} > bRet = true > #56 0x00002acd82e0bd34 in SvpSalInstance::DoYield(bool, bool) (this=0xfa0f70, bWait=false, bHandleAllCurrentEvents=true) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/headless/svpinst.cxx:444 > __PRETTY_FUNCTION__ = "virtual bool SvpSalInstance::DoYield(bool, bool)" > bEvent = true > pSVData = 0x2acd83a85ee0 <rtl::Static<ImplSVData, (anonymous namespace)::private_aImplSVData>::get()::instance> > bTimeout = true > bSkipPoll = true > pMutex = 0xc > #57 0x00002acd82c2b024 in ImplYield(bool, bool) (i_bWait=false, i_bAllEvents=true) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/app/svapp.cxx:455 > pSVData = 0x2acd83a85ee0 <rtl::Static<ImplSVData, (anonymous namespace)::private_aImplSVData>::get()::instance> > bProcessedEvent = true > #58 0x00002acd82c2b15f in Application::Reschedule(bool) (i_bAllEvents=true) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/app/svapp.cxx:468 > #59 0x00002acd82c2b191 in Scheduler::ProcessEventsToIdle() () at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/app/svapp.cxx:474 > nSanity = 77 > pSVData = 0x2acd7cf4f274 <comphelper::SolarMutex::IsCurrentThread() const+36> > #60 0x00002acd8e38c0af in testTdf76636::TestBody() (this=0x1e2de30) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/sw/qa/extras/uiwriter/uiwriter3.cxx:200 > pTextDoc = 0x4e8ec90 > xTextTablesSupplier = uno::Reference to (SwXTextDocument *) 0x4e8ed00 > xIndexAccess = uno::Reference to (SwXTextTables *) 0x61781f0 > xTextTable = uno::Reference to (SwXTextTable *) 0x366ebc8 What apparently happens is that an icon shall be painted at size 0x0 (whether or not that request is legal, or the consequence of another error). BitmapDisabledImageFilter::execute (vcl/source/bitmap/BitmapDisabledImageFilter.cxx, called in frame 14) contains if (pRead && pGrey) that would specifically address the case where the given rBitmapEx is empty, but that only comes after the assert has already fired. Change-Id: I3e6e1bacfb6e502047b9f3f7a13602562673cd06 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96435 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-06-16Remove some unused includesMiklos Vajna
Change-Id: Iba6d787de4b61c71ce9edbfed748aeae2b7f1f39 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96407 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2020-06-16Use the saner std::condition_variable semantics for JobQueue::m_cndWaitStephan Bergmann
This avoids the need for the tricky osl::Condition::reset calls. For example, the first one (in the "disposed !" case) had been added with 2a3ed89284890615ad4bce57be55ba558351cde1 "sb132: #i112448# proper clean up in JobQueue::enter (patch by olistraub)" as > if( 0 == m_lstCallstack.front() ) > { > // disposed ! > + if( m_lstJob.empty() ) > + { > + osl_resetCondition( m_cndWait ); > + } > break; > } > and then change to > if( 0 == m_lstCallstack.front() ) > { > // disposed ! > - if( m_lstJob.empty() ) > + if( m_lstJob.empty() > + && (m_lstCallstack.empty() > + || m_lstCallstack.front() != 0) ) > { > osl_resetCondition( m_cndWait ); > } with cba3ac1eab7acaf8e6efd7a00eee7c5e969fc49b "Avoid deadlocks when disposing recursive JobQueue::enter", which prevented the reset from ever hapening (because m_lstCallstack.front() cannot both be zero and non-zero here at the same time). The std::condition_variable semantics nicely avoid any reasoning whether or not a reset would be necessary here. Change-Id: Ic9b57b836bb6679829f4aa3b68679256726acf60 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96406 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-06-16Resolves tdf#133662 - Copy version info reworkedHeiko Tietze
* Heading for version info added with a tool button to copy info using also the shortcut ctrl/cmd+C * Copy button from the footer buttonbox removed Change-Id: I47d77ea1bc1ac2df25c1fb035abcb96d56a5f4f3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95791 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2020-06-16implement Skia workaround for adjacent AA-ed polygons (tdf#133016)Luboš Luňák
Non-antialised adjacent polygons line up perfectly when drawn, and LO code assumes this is the case even when AA is enabled, which seems to work with Cairo, but not with Skia. So add a hack. Ideally LO code should not use such polygons. Change-Id: Ib46139db80f7bda78fde3aac4244da391133b7cd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96369 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-06-16tdf#132822 close open undo group before clearing undo stackCaolán McNamara
when changing paragraph. previous para undo info needs to be discarded, but that cannot be done properly if there is an open undo group. So pass the optional undo group guard down to GetNextSentence_Impl which can close it before it needs to set the new paragraph. Change-Id: I595c3598b15b6b1fdace045c3879617ecfea3faa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96397 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-06-16use hover-selection for filterlist dropdownCaolán McNamara
like writer's form drop down which makes it a more natural menu-alike thing Change-Id: I526e0d8efe166596ecb91576ebf9b359b3239526 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96365 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-06-16support gtk-copy and gtk-paste stock idsCaolán McNamara
Change-Id: I0d9dc30c62bdfb5976c86bc5a08d5f030eb216e8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96394 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-06-16tdf#129582: sw: Add unittestXisco Fauli
Change-Id: Ica1613d228d86c42f1a167d76661fba8a6a46cdc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96399 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2020-06-16sw: remove useless SET_CURR_SHELL macroMiklos Vajna
Perhaps it did something useful in the past, but it's better to expand it in its current form. Change-Id: I404e8d274f15a178f519d42a1ecd993c1e530f91 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96384 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-06-16tdf#133145 sw ContinuousEndnotes: fix moving endnotes to a previous pageMiklos Vajna
Regression from commit 4814e8caa5f06c4fe438dfd7d7315e4a2410ea18 (tdf#124601 sw: add ContinuousEndnotes layout compat option, 2019-09-30), the problem was that SwFrame::GetPrevFootnoteLeaf() did not take the new compat flag into account when determining the previous footnote page for endnotes. Do the same pattern here as the cases already handled in the above commit, just try to get the "last but one" and not the "last" page, since we try to move these endnotes to a previous page. Change-Id: I77841a3a0fb68f054941184ee2a8aca0707d2a9c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96395 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-06-16Colibre & Sukapura: Update Slide FieldRizal Muttaqin
- Colibre: Update icons with arrow & Glue point icons Change-Id: I30ec591def30154e0f1cd09352f9e8147baef88b Change-Id: I45657b2b290e445d16a75f2cb9766eb5966f8b2a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96404 Tested-by: Jenkins Reviewed-by: Rizal Muttaqin <riz_17_oke@yahoo.co.id>
2020-06-16Use SvNumberformat::GetMaskedType()Eike Rathke
... instead of testing SvNumFormatType::DEFINED for each type individually. Change-Id: I539ad1c9a6b17ed788c26b75b7e673aaae3a6a2f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96389 Tested-by: Jenkins Reviewed-by: Eike Rathke <erack@redhat.com>
2020-06-16tdf#133877 use optimal size for hamburger buttonJan-Marek Glogowski
This way it'll properly scale, instead of using the fixed 28 pixel dimension. This is a hack, which is used a few more times in VCL. Still this should not be needed, but done automatically. If there aren't any constraints, just return the optimal size! Change-Id: I8aa32645ea95cba28d0daf56f0be27c15153b6c9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96390 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2020-06-15Update git submodulesAndras Timar
* Update dictionaries from branch 'master' to 951bb429a4d846699b02e7adb4fc6fca128c6bae - remove extra '>' from ar/dictionaries.xcu Change-Id: I1bf92f06e8631aa56de7c4cf4da013bc8fd5ecac Reviewed-on: https://gerrit.libreoffice.org/c/dictionaries/+/96396 Tested-by: Andras Timar <andras.timar@collabora.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-06-15Model the dispose tokens as `void const *` instead of `sal_Int64`Stephan Bergmann
...which avoids the sal_IntPtr casts Change-Id: I518fcefc66d297b56c9bd94f7826a44715acb5f5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96392 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-06-15Update git submodulesOlivier Hallot
* Update helpcontent2 from branch 'master' to 01bf38a8fe1221235a2b32cc5773c49e1228a418 - tdf#129169 More adjustments in area/background Add Writer contents in default Change-Id: I1f51417bf40a9fb42c1a7eeac3b3ea0796bd11be Reviewed-on: https://gerrit.libreoffice.org/c/help/+/96400 Tested-by: Jenkins Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
2020-06-15tdf#133384 attributes dialog should be modalCaolán McNamara
Change-Id: Iacfa81cce9e09d9c2457ce564a060cf9d380de2f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96385 Tested-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2020-06-15Use getBcp47() instead of getLanguage()Andras Timar
getLanguage() only returns the language code which can be ambiguous in case of UI localization, when there are more than one language variants. Fallback to the first variant caused mixed language UI, e.g. en-US vs. en-GB, pt vs. pt-BR, zh-CN vs. zh-TW. Change-Id: I888423cd4b3c65dbdb900ff3b6bc308fa119be4d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96285 Tested-by: Jenkins Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-06-15Update git submodulesYakov Reztsov
* Update dictionaries from branch 'master' to 871970b369c07ca3ec5182d94fdf0a01802fae67 - Add merged Russian thesaurus from https://github.com/yakovru/MergedRuThesaurus Change-Id: I14047196dbe5aef4191d5a2e5aeaa4af240db610 Reviewed-on: https://gerrit.libreoffice.org/c/dictionaries/+/96219 Reviewed-by: Andras Timar <andras.timar@collabora.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
2020-06-15Revert "CppunitTest_sw_uiwriter: fix failing unittest"Stephan Bergmann
This reverts commit 80eb0eb25158147c18621072849b6684faa2b5c3. The three changes it had made to CppunitTest_sw_uiwriter CPPUNIT_TEST_NAME=testTdf132725::TestBody started to each fail now with b314735568c1e9ab8ca52413017425bc2ef12973 "tdf#132321 tdf#133957 sw: for at-para fly, ignore anchor SwIndex". Change-Id: I8bb4063713a9f3705120dd39943dabe24301f345 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96386 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Jenkins
2020-06-15tdf#103414 Add/Delete decimal for 100th secondLaurent BP
Use Add/Delete decimal to change precision of time and duration Apply only to 100th second Change-Id: I2ff1b01db7ee67645511fcf7ea6bf65055e92a8c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94765 Tested-by: Jenkins Reviewed-by: Eike Rathke <erack@redhat.com>
2020-06-15writerfilter: use std::any_of()Miklos Vajna
Change-Id: I21d5059beee737c286d85f559c767f43962a63ab Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96355 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2020-06-15consume tab key press in single-widget dropdownCaolán McNamara
Change-Id: Ie23fa35d29c20910514f3aaad095521f1588702b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96367 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-06-15ReleaseMouse so focus can be grabbed by the FilterFloatCaolán McNamara
otherwise the keyboard events don't get to the dropdown Change-Id: I6cbaea5e3cef16a39edb12fecdf1d08ab29cbd5c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96366 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-06-15Update git submodulesOlivier Hallot
* Update helpcontent2 from branch 'master' to 522bc49632bc3eac50a56cf1746d1b923eb2b89b - tdf#129169 Access commands for area/background Change-Id: I370ddc89c72e15703950c12996ea5af8e14c4d6e Reviewed-on: https://gerrit.libreoffice.org/c/help/+/96299 Tested-by: Jenkins Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
2020-06-15rhbz#1847031 null-derefCaolán McNamara
Change-Id: Ic9327788ebf49ac1ab0d3463f2f1e4d87ef14cb3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96364 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-06-15Remove a potentially already enqueued response when a bridge is disposedStephan Bergmann
...while a remote call is in progress. Otherwise, if the same thread later makes another remote call (through another bridge), it would erroneously pair the repsonse for the disposed call with the second call. UITest_calc_demo started to fail that way occasionally, presumably after 77445e201c45e5593761e8399c32f80eea2178a4 "Make Chart Creation Wizard async", but for reasons rather unrelated to the contents of that commit. What apparently happened is that in one test's tearDown, the bridge between the Python and the soffice process happened to be disposed during the XDesktop::terminate call from Python's main thread, so that the response (of type BOOLEAN) remained in the JobQueue. Then during the next test's setUp, XUnoUrlResolver::resolve from Python's main thread would internally make a remote queryInterface call for the initial StarOffice.ComponentContext object, which returns an ANY of either VOID or XInterface type. But that call was then mis-matched with the leftover BOOLEAN response, causing failure. I was able to reproduce that reliably on Linux with a local hack of > diff --git a/cppu/source/threadpool/jobqueue.cxx b/cppu/source/threadpool/jobqueue.cxx > index 6c9324521f40..a87770bf8935 100644 > --- a/cppu/source/threadpool/jobqueue.cxx > +++ b/cppu/source/threadpool/jobqueue.cxx > @@ -71,6 +71,7 @@ namespace cppu_threadpool { > } > > m_cndWait.wait(); > + timespec ms{0, 1000000}; nanosleep(&ms, nullptr); > > struct Job job={nullptr,nullptr}; > { introducing a sleep, so that other threads have a higher chance to dispose the bridge (when the call being processed here is that XDesktop::dispose) after the successful wait() but before the response is processed. UITest_calc_demo then failed with [...] > Execution time for create_chart.CalcChartUIDemo.test_activate_chart: 6.520 > tearDown: calling terminate()... > caught while TearDown: > Traceback (most recent call last): > File "uitest/libreoffice/connection.py", line 127, in tearDown > xDesktop.terminate() > libreoffice.connection.com.sun.star.lang.DisposedException: Binary URP bridge disposed during call binaryurp/source/bridge.cxx:611 > > ok > test_cancel_immediately (create_chart.CalcChartUIDemo) ... [...] > warn:sal.osl.pipe:423851:425076:sal/osl/unx/pipe.cxx:442: recv() failed: ECONNRESET > warn:binaryurp:423851:425076:binaryurp/source/bridge.cxx:843: undisposed bridge "" in state 2, potential deadlock ahead [...] > ====================================================================== > ERROR: test_cancel_immediately (create_chart.CalcChartUIDemo) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "uitest/uitest/framework.py", line 25, in setUp > self.connection.setUp() > File "uitest/libreoffice/connection.py", line 176, in setUp > conn.setUp() > File "uitest/libreoffice/connection.py", line 57, in setUp > self.xContext = self.connect(socket) > File "uitest/libreoffice/connection.py", line 107, in connect > xContext = xUnoResolver.resolve(url) > uno.com.sun.star.uno.RuntimeException: initial object queryInterface for OID "StarOffice.ComponentContext" returned ANY of type boolean binaryurp/source/bridge.cxx:883 [...] Change-Id: Icf9aadbb38e7aafffff844fe8e9ae99e165c1f33 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96326 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-06-15tdf#133957 sw: SelectAll should select fly in empty sectionMichael Stahl
Ctrl+A should select everything in the section; if the section is empty, there's no text to select, and then the shell will cancel the selection because SwCursorShell::HasSelection() returns false - so check if there are flys anchored there, which fixes the Copy. To fix Delete, a few more checks for empty selection need to be changed. Change-Id: If54160bdca976ad5f153b89cf8492f4da1e774b7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96324 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2020-06-15small optimisationsNoel Grandin
remove a couple of string copies in the XML parser, which is always a hot path Change-Id: I84460ce13fb197bc7a3d354ff4c39d6939ff1d7e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96313 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-06-15tdf#132321 tdf#133957 sw: for at-para fly, ignore anchor SwIndexMichael Stahl
... because it's always 0, and not registered at the node; this fixes the case when it's anchored at a non-empty last node of a section. (follow-up to a0d0665060b75c1e7f0234b698c940d2f9d600f8) Change-Id: I627e11e84a2dcfc2944d3c9f3fd22e3c3785e505 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96350 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2020-06-15use hover-selection for form drop downCaolán McNamara
makes it a more natural menu-alike thing Change-Id: Iefd1b3d7b912b039dac678b0348bf23478fc931a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96322 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-06-15tdf#133987: initialize dbg_help to avoid dereferencing stack garbageMike Kaganski
Change-Id: Iee9263db201a544d5fe7e0952b48648ea7a16036 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96323 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2020-06-15writerfilter: use default member initializerMiklos Vajna
Change-Id: I2efdc3d1f9eeb26b90f3d2f95377baaaa1130738 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96325 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2020-06-15tdf#132321: sw: Add unittestXisco Fauli
Change-Id: I4ab443d08aee8d672d5bab7340aad0d358e0f717 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96320 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>