diff options
author | Michael Stahl <Michael.Stahl@cib.de> | 2019-09-03 13:49:57 +0200 |
---|---|---|
committer | Michael Stahl <Michael.Stahl@cib.de> | 2019-09-04 10:40:26 +0200 |
commit | 7992bd73a2307edce96a145e954f8e4c3ab9f57d (patch) | |
tree | 0a32009be41014940f66fca0f4f6e899f6fcbbd1 /writerfilter/source/dmapper/PropertyMap.cxx | |
parent | a9e098aa4e66c771642b26527e3e48c48c428574 (diff) |
tdf#95848 writerfilter: DOCX import: fix mapping of w:abstractNum
The problem is that the bugdoc has multiple w:num numbering definitions
that refer to the same w:abstractNum abstract numbering definition.
Apparently (and i can't find this documented anywhere) w:abstractNum
corresponds to a SwList in Writer, i.e. all w:num that refer to the same
w:abstractNum share the same numbering tree, but they may have different
numbering properties via w:lvlOverride.
So i think this should be imported as a single SwList per w:abstractNum,
and every use of w:lvlOverride should create a new SwNumRule, but still
share the same SwList; the previous situation was a SwNumRule + SwList
per w:num element.
This implements simply a SwNumRule per w:num (regardless of
w:lvlOverride) because that was easy; the AbstractListDef class gets a
member to store the ListId of the created SwList when any of its
associated w:num / ListDef is used first, and the non-first ones get
this ListId set to force them into the same SwList.
Unfortunately it turns out the export has the same
SwNumRule->w:abstractNum problem, which remains to be fixed.
Change-Id: I92ce989afd15f24e36b6be6ccaf67ba3e0128963
Reviewed-on: https://gerrit.libreoffice.org/78556
Tested-by: Jenkins
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
Diffstat (limited to 'writerfilter/source/dmapper/PropertyMap.cxx')
-rw-r--r-- | writerfilter/source/dmapper/PropertyMap.cxx | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/writerfilter/source/dmapper/PropertyMap.cxx b/writerfilter/source/dmapper/PropertyMap.cxx index c59b13e7378c..8755cfa20970 100644 --- a/writerfilter/source/dmapper/PropertyMap.cxx +++ b/writerfilter/source/dmapper/PropertyMap.cxx @@ -1775,8 +1775,7 @@ sal_Int32 SectionPropertyMap::GetPageWidth() } StyleSheetPropertyMap::StyleSheetPropertyMap() - : mnListId( -1 ) - , mnListLevel( -1 ) + : mnListLevel( -1 ) , mnOutlineLevel( -1 ) , mnNumId( -1 ) { |