[Libreoffice-commits] core.git: Branch 'libreoffice-4-2' - sw/qa sw/source

Zolnai Tamás tamas.zolnai at collabora.com
Sun Jul 13 02:05:23 PDT 2014


 sw/qa/extras/ww8import/data/fdo80333.doc |binary
 sw/qa/extras/ww8import/ww8import.cxx     |    9 +++++++++
 sw/source/filter/ww8/ww8par6.cxx         |   24 ++++++++++++++----------
 3 files changed, 23 insertions(+), 10 deletions(-)

New commits:
commit 2c735d761a1afcb2d2cf410a398c3100d363fad1
Author: Zolnai Tamás <tamas.zolnai at collabora.com>
Date:   Sat Jul 12 12:42:42 2014 +0200

    fdo#80333: .doc has large black rectangles between paragraphs
    
    These black rectangles are character border shadows, because checking
    whether there is a border at all was missing. In Word there
    is no shadow without a border.
    
    Regression from aa2faee4b3954b57a613963b501ecf611b3a14ca
    
    (cherry picked from commit c2e708d61746a259888c0e5fb1d3e9a43e3ca696)
    
    Change-Id: Ib3cb4e904fdd33f215c81d7c02762a196f484b1b
    Reviewed-on: https://gerrit.libreoffice.org/10250
    Reviewed-by: Andras Timar <andras.timar at collabora.com>
    Tested-by: Andras Timar <andras.timar at collabora.com>

diff --git a/sw/qa/extras/ww8import/data/fdo80333.doc b/sw/qa/extras/ww8import/data/fdo80333.doc
new file mode 100644
index 0000000..773a922
Binary files /dev/null and b/sw/qa/extras/ww8import/data/fdo80333.doc differ
diff --git a/sw/qa/extras/ww8import/ww8import.cxx b/sw/qa/extras/ww8import/ww8import.cxx
index 0d360d8..6a48abf 100644
--- a/sw/qa/extras/ww8import/ww8import.cxx
+++ b/sw/qa/extras/ww8import/ww8import.cxx
@@ -15,6 +15,7 @@
 #include <com/sun/star/text/XDependentTextField.hpp>
 #include <com/sun/star/text/XTextFramesSupplier.hpp>
 #include <com/sun/star/text/XTextTablesSupplier.hpp>
+#include <com/sun/star/table/ShadowFormat.hpp>
 
 #include <vcl/svapp.hxx>
 
@@ -325,6 +326,14 @@ DECLARE_WW8IMPORT_TEST(testFdo77844, "fdo77844.doc")
 #endif
 }
 
+DECLARE_WW8IMPORT_TEST(testFdp80333, "fdo80333.doc")
+{
+    // Despite there is no character border, border shadow was imported
+    uno::Reference<beans::XPropertySet> xRun(getRun(getParagraph(1),1), uno::UNO_QUERY);
+    const table::ShadowFormat aShadow = getProperty<table::ShadowFormat>(xRun, "CharShadowFormat");
+    CPPUNIT_ASSERT_EQUAL(table::ShadowLocation_NONE, aShadow.Location);
+}
+
 #endif
 
 CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/sw/source/filter/ww8/ww8par6.cxx b/sw/source/filter/ww8/ww8par6.cxx
index 066b8db..0324552 100644
--- a/sw/source/filter/ww8/ww8par6.cxx
+++ b/sw/source/filter/ww8/ww8par6.cxx
@@ -4778,16 +4778,20 @@ void SwWW8ImplReader::Read_CharBorder(sal_uInt16 /*nId*/, const sal_uInt8* pData
             WW8_BRC aBrc;
             _SetWW8_BRC(bVer67, aBrc, pData);
 
-            Set1Border(bVer67, aBoxItem, aBrc, BOX_LINE_TOP, 0, 0, true);
-            Set1Border(bVer67, aBoxItem, aBrc, BOX_LINE_BOTTOM, 0, 0, true);
-            Set1Border(bVer67, aBoxItem, aBrc, BOX_LINE_LEFT, 0, 0, true);
-            Set1Border(bVer67, aBoxItem, aBrc, BOX_LINE_RIGHT, 0, 0, true);
-            NewAttr( aBoxItem );
-
-            short aSizeArray[WW8_RIGHT+1]={0}; aSizeArray[WW8_RIGHT] = 1;
-            SvxShadowItem aShadowItem(RES_CHRATR_SHADOW);
-            if( SetShadow( aShadowItem, &aSizeArray[0], aBrc ) )
-                NewAttr( aShadowItem );
+            // WW8_BRC is empty -> no border, no shadow
+            if( !aBrc.IsEmpty(bVer67) )
+            {
+                Set1Border(bVer67, aBoxItem, aBrc, BOX_LINE_TOP, 0, 0, true);
+                Set1Border(bVer67, aBoxItem, aBrc, BOX_LINE_BOTTOM, 0, 0, true);
+                Set1Border(bVer67, aBoxItem, aBrc, BOX_LINE_LEFT, 0, 0, true);
+                Set1Border(bVer67, aBoxItem, aBrc, BOX_LINE_RIGHT, 0, 0, true);
+                NewAttr( aBoxItem );
+
+                short aSizeArray[WW8_RIGHT+1]={0}; aSizeArray[WW8_RIGHT] = 1;
+                SvxShadowItem aShadowItem(RES_CHRATR_SHADOW);
+                if( SetShadow( aShadowItem, &aSizeArray[0], aBrc ) )
+                    NewAttr( aShadowItem );
+            }
         }
     }
 


More information about the Libreoffice-commits mailing list