[Libreoffice-commits] core.git: Branch 'libreoffice-4-3-0' - sw/qa sw/source
Zolnai Tamás
tamas.zolnai at collabora.com
Mon Jul 14 04:29:40 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 553fc0770ede2d5a95f72fb28d21a92bfdb3a38a
Author: Zolnai Tamás <tamas.zolnai at collabora.com>
Date: Sun Jul 13 19:29:29 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)
Conflicts:
sw/qa/extras/ww8import/ww8import.cxx
Change-Id: Ib3cb4e904fdd33f215c81d7c02762a196f484b1b
Reviewed-on: https://gerrit.libreoffice.org/10268
Reviewed-by: Andras Timar <andras.timar at collabora.com>
Tested-by: Andras Timar <andras.timar at collabora.com>
Reviewed-by: Michael Stahl <mstahl at redhat.com>
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.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 147fb88..7cd6153 100644
--- a/sw/qa/extras/ww8import/ww8import.cxx
+++ b/sw/qa/extras/ww8import/ww8import.cxx
@@ -18,6 +18,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>
@@ -462,6 +463,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 1ab57d5..e0100ae 100644
--- a/sw/source/filter/ww8/ww8par6.cxx
+++ b/sw/source/filter/ww8/ww8par6.cxx
@@ -4761,16 +4761,20 @@ void SwWW8ImplReader::Read_CharBorder(sal_uInt16 nId, const sal_uInt8* pData, sh
_SetWW8_BRC(nBrcVer, aBrc, pData);
- Set1Border(aBoxItem, aBrc, BOX_LINE_TOP, 0, 0, true);
- Set1Border(aBoxItem, aBrc, BOX_LINE_BOTTOM, 0, 0, true);
- Set1Border(aBoxItem, aBrc, BOX_LINE_LEFT, 0, 0, true);
- Set1Border(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 );
+ // Border style is none -> no border, no shadow
+ if( editeng::ConvertBorderStyleFromWord(aBrc.brcType()) != table::BorderLineStyle::NONE )
+ {
+ Set1Border(aBoxItem, aBrc, BOX_LINE_TOP, 0, 0, true);
+ Set1Border(aBoxItem, aBrc, BOX_LINE_BOTTOM, 0, 0, true);
+ Set1Border(aBoxItem, aBrc, BOX_LINE_LEFT, 0, 0, true);
+ Set1Border(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