From 22355042a6fc7aecf3caab69b3fa3be1430b697f Mon Sep 17 00:00:00 2001 From: Michael Stahl Date: Tue, 17 Dec 2013 23:44:38 +0100 Subject: fdo#72452: ODF import/export: fix handling of style:page-number Class XMLNumberWithAutoInsteadZeroPropHdl (which appears to be used only for this attribute) needs to be adapted to the change that "PageNumberOffset" value 0 is no longer invalid; use "void" value for invalid instead, which appears more appropriate anyway. Unfortunately the type of style:page-number is positiveInteger so writing 0 would be invalid; write "auto" instead for now. Change-Id: I9621ea201fd928087b863c562607c3d77a3b0269 --- sw/source/core/layout/atrfrm.cxx | 6 +++++- sw/source/filter/xml/xmlexpit.cxx | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'sw') diff --git a/sw/source/core/layout/atrfrm.cxx b/sw/source/core/layout/atrfrm.cxx index eb540b4d58d5..24341509202c 100644 --- a/sw/source/core/layout/atrfrm.cxx +++ b/sw/source/core/layout/atrfrm.cxx @@ -710,7 +710,11 @@ bool SwFmtPageDesc::PutValue( const uno::Any& rVal, sal_uInt8 nMemberId ) case MID_PAGEDESC_PAGENUMOFFSET: { sal_Int16 nOffset = 0; - if(rVal >>= nOffset) + if (!rVal.hasValue()) + { + SetNumOffset(boost::none); + } + else if (rVal >>= nOffset) SetNumOffset( nOffset ); else bRet = false; diff --git a/sw/source/filter/xml/xmlexpit.cxx b/sw/source/filter/xml/xmlexpit.cxx index abe355de4f77..b1e5182bf6d0 100644 --- a/sw/source/filter/xml/xmlexpit.cxx +++ b/sw/source/filter/xml/xmlexpit.cxx @@ -1005,7 +1005,7 @@ bool SvXMLExportItemMapper::QueryXMLValue( if( MID_PAGEDESC_PAGENUMOFFSET==nMemberId ) { ::boost::optional oNumOffset = pPageDesc->GetNumOffset(); - if (oNumOffset) + if (oNumOffset && oNumOffset.get() > 0) { // #i114163# positiveInteger only! sal_Int32 const number(oNumOffset.get()); -- cgit