sw/source/core/layout/paintfrm.cxx |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

New commits:
commit cdea5f4ceb2d59ae739a8435e4888a302bb0d260
Author:     Stephan Bergmann <sberg...@redhat.com>
AuthorDate: Tue Jun 11 23:15:06 2019 +0200
Commit:     Stephan Bergmann <sberg...@redhat.com>
CommitDate: Wed Jun 12 11:36:28 2019 +0200

    Fix failing assert "!mbWidthEmpty"
    
    After a46a257794f1f53b294735fc876c394be23a3811 "improve empty 
tools::Rectangle
    (width)", ´make clean && make CppunitTest_desktop_lib` fails with
    
    > #8  0x00007f5651bfc566 in __GI___assert_fail (assertion=0x7f563520c4b6 
"!mbWidthEmpty", file=0x7f563536311f "include/tools/gen.hxx", line=390, 
function=0x7f56353300cb "long tools::Rectangle::Right() const") at 
/usr/src/debug/glibc-2.29-24-g2ec0b166bf/assert/assert.c:101
    > #9  0x00007f5635bc769b in tools::Rectangle::Right() const 
(this=0x7fff9fcd5140) at include/tools/gen.hxx:390
    > #10 0x00007f56364f7f77 in lcl_paintBitmapExToRect(OutputDevice*, Point 
const&, Size const&, BitmapEx const&, PaintArea) (pOut=0x24cceb0, aPoint=..., 
aSize=..., rBitmapEx=..., eArea=LEFT) at sw/source/core/layout/paintfrm.cxx:5699
    > #11 0x00007f56364e5080 in SwPageFrame::PaintBorderAndShadow(SwRect 
const&, SwViewShell const*, bool, bool, bool) (_rPageRect=..., 
_pViewShell=0x242dba0, bPaintLeftShadow=true, bPaintRightShadow=true, 
bRightSidebar=true) at sw/source/core/layout/paintfrm.cxx:5862
    > #12 0x00007f56364e0989 in SwRootFrame::PaintSwFrame(OutputDevice&, SwRect 
const&, SwPrintData const*) const (this=0x1f554c0, rRenderContext=..., 
rRect=..., pPrintData=0x0) at sw/source/core/layout/paintfrm.cxx:3122
    > #13 0x00007f5636c57816 in SwViewShell::Paint(OutputDevice&, 
tools::Rectangle const&) (this=0x242dba0, rRenderContext=..., rRect=...) at 
sw/source/core/view/viewsh.cxx:1840
    > #14 0x00007f5635cd6fbe in SwCursorShell::Paint(OutputDevice&, 
tools::Rectangle const&) (this=0x242dba0, rRenderContext=..., rRect=...) at 
sw/source/core/crsr/crsrsh.cxx:1411
    > #15 0x00007f56370c3baf in SwEditWin::Paint(OutputDevice&, 
tools::Rectangle const&) (this=0x2491bf0, rRenderContext=..., rRect=...) at 
sw/source/uibase/docvw/edtwin2.cxx:449
    > #16 0x00007f5640771bae in PaintHelper::DoPaint(vcl::Region const*) 
(this=0x7fff9fcd7ab0, pRegion=0x0) at vcl/source/window/paint.cxx:301
    > #17 0x00007f56407738dd in vcl::Window::ImplCallPaint(vcl::Region const*, 
ImplPaintFlags) (this=0x2491bf0, pRegion=0x0, 
nPaintFlags=(ImplPaintFlags::PaintAll | ImplPaintFlags::PaintChildren | 
ImplPaintFlags::Erase)) at vcl/source/window/paint.cxx:605
    [...]
    
    Change-Id: I039a175a732e0ecec3ac1d3bba2cb9195d6d7686
    Reviewed-on: https://gerrit.libreoffice.org/73842
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <sberg...@redhat.com>

diff --git a/sw/source/core/layout/paintfrm.cxx 
b/sw/source/core/layout/paintfrm.cxx
index dd6016161955..5d6d89a7a70c 100644
--- a/sw/source/core/layout/paintfrm.cxx
+++ b/sw/source/core/layout/paintfrm.cxx
@@ -5694,12 +5694,15 @@ static void lcl_paintBitmapExToRect(vcl::RenderContext 
*pOut, const Point& aPoin
     // this, always paint the background color before doing the real paint.
     tools::Rectangle aRect(aPoint, aSize);
 
-    switch (eArea)
+    if (!aRect.IsEmpty())
     {
+        switch (eArea)
+        {
         case LEFT: aRect.SetLeft( aRect.Right() - 1 ); break;
         case RIGHT: aRect.SetRight( aRect.Left() + 1 ); break;
         case TOP: aRect.SetTop( aRect.Bottom() - 1 ); break;
         case BOTTOM: aRect.SetBottom( aRect.Top() + 1 ); break;
+        }
     }
 
     pOut->SetFillColor(SwViewOption::GetAppBackgroundColor());
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to