diff options
author | Tushar Bende <tushar.bende@synerzip.com> | 2014-03-17 22:40:19 +0530 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2014-03-18 15:42:24 +0100 |
commit | 5e44328c4a2ca748e1254c008ff6d84a58601cde (patch) | |
tree | bc91d584e3094cf35195b252bc21b08a8992ed1a /writerfilter | |
parent | afe84a3dbbe02b12b113400499a0967e8a2ffab7 (diff) |
fdo#72775 : LibreOffice hang while opening some documents
Description: There was a problem for some documents, when opened in LibreOffice
there was continuous increase in page numbers.And this was the reason for LO getting hang.
The wrap property "NS_ooxml::LN_Value_wordprocessingml_ST_Wrap_auto" was not handled in DomainMapper::lcl_attribute() and hence paragraph's wrap property was getting set to
"text::WrapTextMode_NONE" this was the reason for increasing number of pages while opening doc in LO.
added condition to handle NS_ooxml::LN_Value_wordprocessingml_ST_Wrap_auto.
*added test case to verify that the document is opening properly and checking it's page count.
Conflicts:
sw/qa/extras/ooxmlimport/ooxmlimport.cxx
Reviewed on:
https://gerrit.libreoffice.org/8632
Change-Id: Id24ebc8409e7fd53915e5130beb9ad6f8bb8571f
Diffstat (limited to 'writerfilter')
-rw-r--r-- | writerfilter/source/dmapper/DomainMapper.cxx | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index 435919ec3a62..4c182386f47e 100644 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -733,12 +733,16 @@ void DomainMapper::lcl_attribute(Id nName, Value & val) break; case NS_ooxml::LN_CT_FramePr_wrap: { - //should be either LN_Value_wordprocessingml_ST_Wrap_notBeside or LN_Value_wordprocessingml_ST_Wrap_around + //should be either LN_Value_wordprocessingml_ST_Wrap_notBeside or LN_Value_wordprocessingml_ST_Wrap_around or LN_Value_wordprocessingml_ST_Wrap_auto OSL_ENSURE( sal::static_int_cast<Id>(nIntValue) == NS_ooxml::LN_Value_wordprocessingml_ST_Wrap_around || - sal::static_int_cast<Id>(nIntValue) == NS_ooxml::LN_Value_wordprocessingml_ST_Wrap_notBeside, - "wrap not around or not_Beside?"); - pParaProperties->SetWrap(sal::static_int_cast<Id>(nIntValue) == NS_ooxml::LN_Value_wordprocessingml_ST_Wrap_around ? - text::WrapTextMode_DYNAMIC : text::WrapTextMode_NONE ); + sal::static_int_cast<Id>(nIntValue) == NS_ooxml::LN_Value_wordprocessingml_ST_Wrap_notBeside || + sal::static_int_cast<Id>(nIntValue) == NS_ooxml::LN_Value_wordprocessingml_ST_Wrap_auto, + "wrap not around, not_Beside or auto?"); + if( sal::static_int_cast<Id>(nIntValue) == NS_ooxml::LN_Value_wordprocessingml_ST_Wrap_around || + sal::static_int_cast<Id>(nIntValue) == NS_ooxml::LN_Value_wordprocessingml_ST_Wrap_auto ) + pParaProperties->SetWrap ( text::WrapTextMode_DYNAMIC ) ; + else + pParaProperties->SetWrap ( text::WrapTextMode_NONE ) ; } break; case NS_ooxml::LN_CT_FramePr_w: |