summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2022-02-05 22:43:13 +0100
committerEike Rathke <erack@redhat.com>2022-02-06 11:47:47 +0100
commit8a9b870a40c41c7cae6e43452b593804fa17f831 (patch)
tree504defda1f0e12290e3c1bb0c1c4a68ab2a59d69 /sc
parenta7bdfd979470a842712f6475590bbda7542c4ccc (diff)
Resolves: tdf#74577 tdf#92960 Create missing offsets in very outer table
... if local table is outer table. Change-Id: I5996609264f4ad9efa8d76a8d0ab730bf1dded24 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129540 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
Diffstat (limited to 'sc')
-rw-r--r--sc/source/filter/html/htmlpars.cxx10
1 files changed, 10 insertions, 0 deletions
diff --git a/sc/source/filter/html/htmlpars.cxx b/sc/source/filter/html/htmlpars.cxx
index e64fa6fbb921..e3dfffac0c0c 100644
--- a/sc/source/filter/html/htmlpars.cxx
+++ b/sc/source/filter/html/htmlpars.cxx
@@ -762,6 +762,16 @@ void ScHTMLLayoutParser::SetWidths()
sal_uInt16 nMax = static_cast<sal_uInt16>(pLocalColOffset->back());
if ( aPageSize.Width() < nMax )
aPageSize.setWidth( nMax );
+ if (nTableLevel == 0)
+ {
+ // Local table is very outer table, create missing offsets.
+ for (auto it = pLocalColOffset->begin(); it != pLocalColOffset->end(); ++it)
+ {
+ // Only exact offsets, do not use MakeColNoRef().
+ if (maColOffset.find(*it) == maColOffset.end())
+ maColOffset.insert(*it);
+ }
+ }
}
for ( size_t i = nFirstTableCell, nListSize = maList.size(); i < nListSize; ++i )
{