sw/source/filter/ww8/ww8par.cxx | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-)
New commits: commit a8c1ed47fb9dc2e878ad5f2cf26b967cf8e09d34 Author: Andras Timar <andras.ti...@collabora.com> Date: Mon Nov 9 15:38:01 2015 +0100 Revert "Revert "fix tdf#94818 while retaining the tdf#90504 fix"" This reverts commit dad32b63f852716af94cf995696b62b6e60724bd. diff --git a/sw/source/filter/ww8/ww8par.cxx b/sw/source/filter/ww8/ww8par.cxx index 903f944..0886deb 100644 --- a/sw/source/filter/ww8/ww8par.cxx +++ b/sw/source/filter/ww8/ww8par.cxx @@ -3530,11 +3530,24 @@ bool SwWW8ImplReader::ReadChar(long nPosCp, long nCpOfs) } break; case 0x7: - bNewParaEnd = true; - if (m_pPlcxMan->GetPapPLCF()->Where() == nCpOfs+nPosCp+1) - TabCellEnd(); // Table cell/row end - else - bParaMark = true; + { + bNewParaEnd = true; + WW8PLCFxDesc* pPap = m_pPlcxMan->GetPap(); + //The last paragraph of each cell is terminated by a special + //paragraph mark called a cell mark. Following the cell mark + //that ends the last cell of a table row, the table row is + //terminated by a special paragraph mark called a row mark + // + //So the 0x7 should be right at the end of the previous + //range to be a real cell-end. + if (pPap->nOrigStartPos == nCpOfs+nPosCp+1 || + pPap->nOrigStartPos == WW8_CP_MAX) + { + TabCellEnd(); // Table cell/row end + } + else + bParaMark = true; + } break; case 0xf: if( !m_bSpec ) // "Satellite" _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits