summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2015-10-12 20:56:51 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2015-10-14 09:25:35 +0000
commit00316aa39b558869544bdb08d2f5d9d63eb6718e (patch)
tree6afbec26c0f4f828f4b9ac016802f438167b3412 /sw
parent6b8479107482b180723d01d2fcd90120663435c5 (diff)
fix tdf#94818 while retaining the tdf#90504 fix
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>
Diffstat (limited to 'sw')
-rw-r--r--sw/source/filter/ww8/ww8par.cxx23
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"