summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorMichael Stahl <Michael.Stahl@cib.de>2020-01-14 18:42:52 +0100
committerMiklos Vajna <vmiklos@collabora.com>2020-01-15 16:50:29 +0100
commitbdd17d4dd5c51d563c5f866e69c47e458b3851b6 (patch)
tree996e040fc2327e501d9ab1d0e163c8e8da9f0c75 /writerfilter
parentc21b6629a8af2b4d87840fcee8d39b3f77f08c98 (diff)
tdf#129525 writerfilter: ignore GOTOBUTTON field
The bugdoc contains nested fields for some of the page numbers: {\field\flddirty{\*\fldinst {\caps0\lang1024 GOTOBUTTON _Toc434317064 }{\field{\*\fldinst {\caps0\lang1024 PAGEREF _Toc434317064 }}{\fldrslt {\caps0\lang1024 4}}}}} The problem is that the outer field does not have a \fldrslt, only the inner PAGEREF field has one. This used to be imported incorrectly because the nested field's result ended up in the outer field's result; now it's imported correctly but then there's no field result to show, because Writer can't expand fieldmarks. As we can't do anything with a GOTOBUTTON field, just ignore it explicitly to prevent creating a generic fieldmark; the PAGEREF is already ignored inside of a ToX since commit 9679e9c23216decb5f9f25f85b04cb3f25211111. ("regression" from e511a0ca5dde6d731bb126bbfe21768867890102..d9030ad6298e2f49ee63489d6158ea6ad23c0111) Change-Id: I8135c8d14995378181ce959d22d9be5ea0cae260 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86796 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de> (cherry picked from commit f761059b8c8ffe4e7b6e28924898ba71ee6b9ea8) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86832 Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/source/dmapper/DomainMapper_Impl.cxx3
1 files changed, 2 insertions, 1 deletions
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index 4bf56a553924..4206b41ddaed 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -3636,7 +3636,7 @@ static const FieldConversionMap_t & lcl_GetFieldConversion()
{"FORMCHECKBOX", {"", FIELD_FORMCHECKBOX }},
{"FORMDROPDOWN", {"DropDown", FIELD_FORMDROPDOWN }},
{"FORMTEXT", {"Input", FIELD_FORMTEXT }},
-// {"GOTOBUTTON", {"", FIELD_GOTOBUTTON }},
+ {"GOTOBUTTON", {"", FIELD_GOTOBUTTON }},
{"HYPERLINK", {"", FIELD_HYPERLINK }},
{"IF", {"ConditionalText", FIELD_IF }},
// {"INFO", {"", FIELD_INFO }},
@@ -4607,6 +4607,7 @@ void DomainMapper_Impl::CloseFieldCommand()
case FIELD_EQ:
case FIELD_INCLUDEPICTURE:
case FIELD_SYMBOL:
+ case FIELD_GOTOBUTTON:
bCreateField = false;
break;
case FIELD_FORMCHECKBOX :