diff options
author | Caolán McNamara <caolanm@redhat.com> | 2015-10-12 20:56:51 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-10-14 09:25:35 +0000 |
commit | 00316aa39b558869544bdb08d2f5d9d63eb6718e (patch) | |
tree | 6afbec26c0f4f828f4b9ac016802f438167b3412 | |
parent | 6b8479107482b180723d01d2fcd90120663435c5 (diff) |
Change-Id: Ia1c904b16d040714c8d5a0b4946bc42e6b8ac3bb
(cherry picked from commit 959ac511dbebeb3983da92052ced837b39b74ed9)
Reviewed-on: https://gerrit.libreoffice.org/19342
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
-rw-r--r-- | sw/source/filter/ww8/ww8par.cxx | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/sw/source/filter/ww8/ww8par.cxx b/sw/source/filter/ww8/ww8par.cxx index 4a352ddf773c..1fecce8ab7f5 100644 --- a/sw/source/filter/ww8/ww8par.cxx +++ b/sw/source/filter/ww8/ww8par.cxx @@ -3534,11 +3534,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" |