[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - writerfilter/source

Michael Stahl mstahl at redhat.com
Fri Mar 31 16:03:10 UTC 2017


 writerfilter/source/dmapper/DomainMapperTableHandler.cxx |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

New commits:
commit 64cc9de6665a5122b800bb478628d8aa76030dd6
Author: Michael Stahl <mstahl at redhat.com>
Date:   Thu Mar 30 23:11:41 2017 +0200

    writerfilter: DOCX import: fix handling of w:hideMark vs. w:vMerge
    
    The problem is that Writer's layout can't handle the case where cells
    are vertically merged and the last row has a fixed height; the vertically
    merged cell will grow up to the height of the other cells in the non-
    fixed rows plus the fixed row height, but no larger.
    
    So for now, avoid setting fixed row heights in this case.
    
    (regression from d1278ef4849661b9ae0eb7aaf4d74fbf91ccaf11)
    
    Change-Id: Iac3689e0bb0d5b8a62115ca0fb1f2c553a6e6bbc
    (cherry picked from commit c382c998ffdaf80c10a3f078fb4f0a37224d1158)
    Reviewed-on: https://gerrit.libreoffice.org/35960
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
    (cherry picked from commit 7d7d21cfa53c8e80fd4dd0938579d8377da5a840)
    Reviewed-on: https://gerrit.libreoffice.org/35971

diff --git a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx
index a2e0495d97ff..12d22f321151 100644
--- a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx
+++ b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx
@@ -862,8 +862,12 @@ CellPropertyValuesSeq_t DomainMapperTableHandler::endTableGetCellProperties(Tabl
 bool lcl_hideMarks(PropertyMapVector1& rCellProperties)
 {
     for (PropertyMapPtr & p : rCellProperties)
-        if (!p->isSet(PROP_CELL_HIDE_MARK))
+    {
+        // if anything is vertically merged, the row must not be set to fixed
+        // as Writer's layout doesn't handle that well
+        if (!p->isSet(PROP_CELL_HIDE_MARK) || p->isSet(PROP_VERTICAL_MERGE))
             return false;
+    }
     return true;
 }
 


More information about the Libreoffice-commits mailing list