summaryrefslogtreecommitdiff
path: root/writerfilter/source/rtftok/rtfdispatchsymbol.cxx
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.com>2024-02-28 09:41:06 +0100
committerMiklos Vajna <vmiklos@collabora.com>2024-02-28 11:36:41 +0100
commitc98ff922831f56253af2a050b8e07cfc89b7a387 (patch)
tree649d8e12004d2cd62f22c034abf19abe1fe14220 /writerfilter/source/rtftok/rtfdispatchsymbol.cxx
parent458f4c9b489d92947c4122e7c450f65f90aa4efe (diff)
Related: tdf#158986 sw floattable, RTF import: use more setNeedPar()
See <https://gerrit.libreoffice.org/c/core/+/163844/1#message-ea0bfde78fa24ad83e5c153ecaddbf897a89f547>, this keeps the bug fixed but is a better version, as pointed out by Michael S: > there was a bug where dispatching PAR here caused a deferred page > break to be lost, which was fixed by calling setNeedPar(true) instead. Change-Id: Ibe6e4c14286d40d3066ce9cb7fac9f6847fb81dd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164081 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
Diffstat (limited to 'writerfilter/source/rtftok/rtfdispatchsymbol.cxx')
-rw-r--r--writerfilter/source/rtftok/rtfdispatchsymbol.cxx13
1 files changed, 7 insertions, 6 deletions
diff --git a/writerfilter/source/rtftok/rtfdispatchsymbol.cxx b/writerfilter/source/rtftok/rtfdispatchsymbol.cxx
index 9d10c7a03362..b40fd55dde9b 100644
--- a/writerfilter/source/rtftok/rtfdispatchsymbol.cxx
+++ b/writerfilter/source/rtftok/rtfdispatchsymbol.cxx
@@ -140,18 +140,19 @@ RTFError RTFDocumentImpl::dispatchSymbol(RTFKeyword nKeyword)
}
else
{
- if (m_bNeedCr)
- { // tdf#158586 don't dispatch \par here, it eats deferred page breaks
- setNeedPar(true);
- }
-
+ bool bPendingFloatingTable = false;
RTFValue::Pointer_t pTblpPr
= m_aStates.top().getTableRowSprms().find(NS_ooxml::LN_CT_TblPrBase_tblpPr);
if (pTblpPr)
{
// We have a pending floating table, provide an anchor for it still in this
// section.
- dispatchSymbol(RTFKeyword::PAR);
+ bPendingFloatingTable = true;
+ }
+
+ if (m_bNeedCr || bPendingFloatingTable)
+ { // tdf#158586 don't dispatch \par here, it eats deferred page breaks
+ setNeedPar(true);
}
sectBreak();