Date: prev next · Thread: first prev next last
2015 Archives by date, by thread · List index


Hi, All!
I had push the commit to the gerrit.: https://gerrit.libreoffice.org/#/c/20701/ 
But it build failed in 'CppunitTest/libtest_writerperfect_stream.so': 
http://ci.libreoffice.org/job/lo_gerrit_master/9226/
It work well in my machine. Is anyone have a good idear to fix this bug ?
Thanks!




flw.aquarius@gmail.com
 
From: flw.aquarius@gmail.com
Date: 2015-12-13 20:26
To: libreoffice
Subject: fix paint table border in DOUBLE_THIN style
Hi, I find a bug in the master branch and fixed it. But i am in trouble when i push the patch to 
the gerrit. It the waring fllow:

The authenticity of host '[gerrit.libreoffice.org]:29418 ([89.238.68.148]:29418)' can't be 
established.

So, i show the screenshot to show the bug and patch fllow:

screenshot:
http://7xjcd4.com1.z0.glb.clouddn.com/bog_lo_bug_cell_double_thin_1.png

patch:
From f7d4b14cccb20ea39a90fb68986fb5578c6fd9a2 Mon Sep 17 00:00:00 2001
From: aqcoder <flw.aquarius@gmail.com>
Date: Sun, 13 Dec 2015 19:11:28 +0800
Subject: [PATCH] fix paint table border in DOUBLE_THIN style

it always paint partial table border which have line style of DOUBLE_THIN.
Becouse the partial of the border line is out of the invalid window rect.
so, we extend it.

Change-Id: I9d95ca71a96cfa869c68d9d2200f29c7cd447eca
---
 sw/source/core/layout/paintfrm.cxx | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx
index 83a8638..9746df7 100644
--- a/sw/source/core/layout/paintfrm.cxx
+++ b/sw/source/core/layout/paintfrm.cxx
@@ -2742,6 +2742,24 @@ void SwTabFramePainter::PaintLines(OutputDevice& rDev, const SwRect& rRect) 
cons
                 aPaintEnd.Y()   += static_cast<long>(offsetEnd   + 0.5);
             }
 
+            if( rEntryStyle.Type() == table::BorderLineStyle::DOUBLE_THIN )
+            {
+                long aPixel = rDev.PixelToLogic( Point(1, 1) ).getX();
+                SwRect aPaintEx( aPaintStart, aPaintEnd );
+                if( bHori )
+                {
+                    aPaintEx.Pos().Y() -= aPixel;
+                    aPaintEx.SSize().Height() += aPixel * 2;
+                }
+                else
+                {
+                    aPaintEx.Pos().X() -= aPixel;
+                    aPaintEx.SSize().Width() += aPixel * 2;
+                }
+
+                gProp.pSGlobalShell->InvalidateWindows( aPaintEx );
+            }
+
             if (bHori)
             {
                 mrTabFrame.ProcessPrimitives( svx::frame::CreateBorderPrimitives(
-- 
2.5.0

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.