From 3a5f11f6dd086efdb40e1e75e6588b4c62881918 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 (cherry picked from commit 22355042a6fc7aecf3caab69b3fa3be1430b697f) --- xmloff/source/style/xmlbahdl.cxx | 5 +++-- xmloff/source/style/xmlbahdl.hxx | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) (limited to 'xmloff') diff --git a/xmloff/source/style/xmlbahdl.cxx b/xmloff/source/style/xmlbahdl.cxx index 3397e47e28ef..0a797e5e471f 100644 --- a/xmloff/source/style/xmlbahdl.cxx +++ b/xmloff/source/style/xmlbahdl.cxx @@ -879,7 +879,7 @@ bool XMLNumberWithAutoInsteadZeroPropHdl::importXML( lcl_xmloff_setAny( rValue, nValue, 2 ); else if( rStrImpValue == GetXMLToken( XML_AUTO ) ) { - rValue <<= (sal_Int16)nValue; + rValue.clear(); // void bRet = true; } return bRet; @@ -891,7 +891,8 @@ bool XMLNumberWithAutoInsteadZeroPropHdl::exportXML( OUString& rStrExpValue, con sal_Int32 nValue = 0; lcl_xmloff_getAny( rValue, nValue, 2 ); - if( 0 == nValue ) + // FIXME: 0 is not a valid value - write "auto" instead + if (0 == nValue || !rValue.hasValue()) rStrExpValue = GetXMLToken( XML_AUTO ); else { diff --git a/xmloff/source/style/xmlbahdl.hxx b/xmloff/source/style/xmlbahdl.hxx index 58c6dc18691b..8b57ccbddc77 100644 --- a/xmloff/source/style/xmlbahdl.hxx +++ b/xmloff/source/style/xmlbahdl.hxx @@ -306,8 +306,8 @@ public: /** PropertyHandler for the XML-data-type: XML_TYPE_NUMBER16_AUTO - Reads/writes numeric properties with special handling for the value zero - (i.e., a value 0 property will be written as "auto") + Reads/writes numeric properties with special handling for "void" value + (i.e., void property will be written as "auto") */ class XMLNumberWithAutoInsteadZeroPropHdl : public XMLNumberWithoutZeroPropHdl { -- cgit v1.2.3