vcl/source/gdi/bmpacc.cxx |    2 --
 1 file changed, 2 deletions(-)

New commits:
commit b910f2f0ebd4b64efc829d826f315585db2efcea
Author:     Stephan Bergmann <sberg...@redhat.com>
AuthorDate: Tue Jun 16 10:23:43 2020 +0200
Commit:     Andras Timar <andras.ti...@collabora.com>
CommitDate: Thu Jan 6 10:08:46 2022 +0100

    Remove dubious assert "Forbidden Access to empty bitmap!"
    
    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 <sberg...@redhat.com>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127970
    Tested-by: Andras Timar <andras.ti...@collabora.com>
    Reviewed-by: Andras Timar <andras.ti...@collabora.com>

diff --git a/vcl/source/gdi/bmpacc.cxx b/vcl/source/gdi/bmpacc.cxx
index 4b0b42f5d268..67a0bf03eba0 100644
--- a/vcl/source/gdi/bmpacc.cxx
+++ b/vcl/source/gdi/bmpacc.cxx
@@ -35,8 +35,6 @@ BitmapInfoAccess::BitmapInfoAccess( Bitmap& rBitmap, 
BitmapAccessMode nMode ) :
 {
     std::shared_ptr<SalBitmap> xImpBmp = rBitmap.ImplGetSalBitmap();
 
-    assert( xImpBmp && "Forbidden Access to empty bitmap!" );
-
     if( !xImpBmp )
         return;
 

Reply via email to