diff options
Diffstat (limited to 'sc')
-rw-r--r-- | sc/source/filter/xml/xmlexprt.cxx | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/sc/source/filter/xml/xmlexprt.cxx b/sc/source/filter/xml/xmlexprt.cxx index c000b1dd0056..3822f7659cf0 100644 --- a/sc/source/filter/xml/xmlexprt.cxx +++ b/sc/source/filter/xml/xmlexprt.cxx @@ -1181,10 +1181,22 @@ const SvxFieldData* toXMLPropertyStates( break; case EE_CHAR_ESCAPEMENT: { - if (!static_cast<const SvxEscapementItem*>(p)->QueryValue(aAny, pEntry->mnFlag)) - continue; + sal_Int32 nIndexEsc = xMapper->FindEntryIndex("CharEscapement", XML_NAMESPACE_STYLE, "text-position"); + if (nIndexEsc == -1 || nIndexEsc > nEntryCount) + break; + + sal_Int32 nIndexEscHeight = xMapper->FindEntryIndex("CharEscapementHeight", XML_NAMESPACE_STYLE, "text-position"); + if (nIndexEscHeight == -1 || nIndexEscHeight > nEntryCount) + break; + + const SvxEscapementItem* pEsc = static_cast<const SvxEscapementItem*>(p); + + pEsc->QueryValue(aAny, MID_ESC); + rPropStates.push_back(XMLPropertyState(nIndexEsc, aAny)); + + pEsc->QueryValue(aAny, MID_ESC_HEIGHT); + rPropStates.push_back(XMLPropertyState(nIndexEscHeight, aAny)); - rPropStates.push_back(XMLPropertyState(nIndex, aAny)); } break; case EE_CHAR_EMPHASISMARK: |