summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sw/qa/core/data/ooxml/pass/fdo79838.docxbin0 -> 32166 bytes
-rw-r--r--sw/source/core/text/itrform2.cxx7
2 files changed, 7 insertions, 0 deletions
diff --git a/sw/qa/core/data/ooxml/pass/fdo79838.docx b/sw/qa/core/data/ooxml/pass/fdo79838.docx
new file mode 100644
index 000000000000..eef1e59978d6
--- /dev/null
+++ b/sw/qa/core/data/ooxml/pass/fdo79838.docx
Binary files differ
diff --git a/sw/source/core/text/itrform2.cxx b/sw/source/core/text/itrform2.cxx
index 8bf8437304d8..8e03566b14ac 100644
--- a/sw/source/core/text/itrform2.cxx
+++ b/sw/source/core/text/itrform2.cxx
@@ -894,6 +894,13 @@ SwTxtPortion *SwTxtFormatter::WhichTxtPor( SwTxtFormatInfo &rInf ) const
{
pPor = new SwFieldFormDropDownPortion(sw::mark::ExpandFieldmark(pBM));
}
+ /* we need to check for ODF_FORMTEXT for scenario having FormFields inside FORMTEXT.
+ * Otherwise file will crash on open.
+ */
+ else if (pBM->GetFieldname( ) == ODF_FORMTEXT)
+ {
+ pPor = new SwFieldMarkPortion();
+ }
else
{
assert( false ); // unknown type...