diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2013-11-28 16:16:22 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2013-11-28 17:07:28 +0100 |
commit | 6c992a54b662d39c860784aff7357b163db63dfb (patch) | |
tree | e997a3a66dfef6019b2b862043fe34204eb98596 /sw | |
parent | 95034bafdaecc9aaad556e6c3e47e74b9b2add5f (diff) |
fdo#69636 DOCX export: fix VML export of vert=vert270 drawingML textframes
Change-Id: I2fc01c1f22dcd55c2fc4d4791c5571ff2861d0cc
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/filter/ww8/docxattributeoutput.cxx | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx b/sw/source/filter/ww8/docxattributeoutput.cxx index 2a8205cda637..419d74512359 100644 --- a/sw/source/filter/ww8/docxattributeoutput.cxx +++ b/sw/source/filter/ww8/docxattributeoutput.cxx @@ -330,17 +330,30 @@ bool lcl_checkFrameBtlr(SwNode* pStartNode, sax_fastparser::FastAttributeList* p return false; SwTxtNode* pTxtNode = static_cast<SwTxtNode*>(pStartNode); - if (!pTxtNode->HasHints()) - return false; - SwTxtAttr* pTxtAttr = pTxtNode->GetTxtAttrAt(0, RES_TXTATR_AUTOFMT); + const SfxPoolItem* pItem; + bool bItemSet = false; + if (pTxtNode->HasSwAttrSet()) + { + const SwAttrSet& rAttrSet = pTxtNode->GetSwAttrSet(); + bItemSet = rAttrSet.GetItemState(RES_CHRATR_ROTATE, true, &pItem) == SFX_ITEM_SET; + } - if (!pTxtAttr || pTxtAttr->Which() != RES_TXTATR_AUTOFMT) - return false; + if (!bItemSet) + { + if (!pTxtNode->HasHints()) + return false; - boost::shared_ptr<SfxItemSet> pItemSet = pTxtAttr->GetAutoFmt().GetStyleHandle(); - const SfxPoolItem* pItem; - if (pItemSet->GetItemState(RES_CHRATR_ROTATE, true, &pItem) == SFX_ITEM_SET) + SwTxtAttr* pTxtAttr = pTxtNode->GetTxtAttrAt(0, RES_TXTATR_AUTOFMT); + + if (!pTxtAttr || pTxtAttr->Which() != RES_TXTATR_AUTOFMT) + return false; + + boost::shared_ptr<SfxItemSet> pItemSet = pTxtAttr->GetAutoFmt().GetStyleHandle(); + bItemSet = pItemSet->GetItemState(RES_CHRATR_ROTATE, true, &pItem) == SFX_ITEM_SET; + } + + if (bItemSet) { const SvxCharRotateItem& rCharRotate = static_cast<const SvxCharRotateItem&>(*pItem); if (rCharRotate.GetValue() == 900) |