[Libreoffice-commits] core.git: Branch 'libreoffice-4-2' - 3 commits - sc/source
Markus Mohrhard
markus.mohrhard at googlemail.com
Sat Dec 28 02:02:00 PST 2013
sc/source/core/tool/rangeutl.cxx | 2 +-
sc/source/filter/xml/xmlexprt.cxx | 2 +-
sc/source/filter/xml/xmlimprt.cxx | 3 +++
sc/source/filter/xml/xmlimprt.hxx | 5 ++++-
sc/source/filter/xml/xmltabi.cxx | 3 +++
5 files changed, 12 insertions(+), 3 deletions(-)
New commits:
commit c919ff406ee574e6c4e40ca8ae61363de3b59572
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date: Sat Dec 28 12:44:02 2013 +0100
read elements/attribs written to extension namespace
Related to validation errors with fdo#31296
Change-Id: I1b76e05a9996b1123db164629475a3f7b07dda69
diff --git a/sc/source/filter/xml/xmlimprt.cxx b/sc/source/filter/xml/xmlimprt.cxx
index 69f46b0..1f02083 100644
--- a/sc/source/filter/xml/xmlimprt.cxx
+++ b/sc/source/filter/xml/xmlimprt.cxx
@@ -829,6 +829,7 @@ const SvXMLTokenMap& ScXMLImport::GetTableElemTokenMap()
{ XML_NAMESPACE_TABLE, XML_TABLE_COLUMNS, XML_TOK_TABLE_COLS },
{ XML_NAMESPACE_TABLE, XML_TABLE_COLUMN, XML_TOK_TABLE_COL },
{ XML_NAMESPACE_TABLE, XML_TABLE_PROTECTION, XML_TOK_TABLE_PROTECTION },
+ { XML_NAMESPACE_OFFICE_EXT, XML_TABLE_PROTECTION, XML_TOK_TABLE_PROTECTION_EXT },
{ XML_NAMESPACE_TABLE, XML_TABLE_ROW_GROUP, XML_TOK_TABLE_ROW_GROUP },
{ XML_NAMESPACE_TABLE, XML_TABLE_HEADER_ROWS, XML_TOK_TABLE_HEADER_ROWS },
{ XML_NAMESPACE_TABLE, XML_TABLE_ROWS, XML_TOK_TABLE_ROWS },
@@ -857,6 +858,8 @@ const SvXMLTokenMap& ScXMLImport::GetTableProtectionAttrTokenMap()
{
{ XML_NAMESPACE_TABLE, XML_SELECT_PROTECTED_CELLS, XML_TOK_TABLE_SELECT_PROTECTED_CELLS },
{ XML_NAMESPACE_TABLE, XML_SELECT_UNPROTECTED_CELLS, XML_TOK_TABLE_SELECT_UNPROTECTED_CELLS },
+ { XML_NAMESPACE_OFFICE_EXT, XML_SELECT_PROTECTED_CELLS, XML_TOK_TABLE_SELECT_PROTECTED_CELLS_EXT },
+ { XML_NAMESPACE_OFFICE_EXT, XML_SELECT_UNPROTECTED_CELLS, XML_TOK_TABLE_SELECT_UNPROTECTED_CELLS_EXT },
XML_TOKEN_MAP_END
};
pTableProtectionElemTokenMap = new SvXMLTokenMap(aTableProtectionTokenMap);
diff --git a/sc/source/filter/xml/xmlimprt.hxx b/sc/source/filter/xml/xmlimprt.hxx
index f3dba75..bf2d9ae 100644
--- a/sc/source/filter/xml/xmlimprt.hxx
+++ b/sc/source/filter/xml/xmlimprt.hxx
@@ -247,6 +247,7 @@ enum ScXMLTableTokens
XML_TOK_TABLE_ROW_GROUP,
XML_TOK_TABLE_HEADER_ROWS,
XML_TOK_TABLE_PROTECTION,
+ XML_TOK_TABLE_PROTECTION_EXT,
XML_TOK_TABLE_ROWS,
XML_TOK_TABLE_ROW,
XML_TOK_TABLE_SOURCE,
@@ -261,7 +262,9 @@ enum ScXMLTableTokens
enum ScXMLTokenProtectionTokens
{
XML_TOK_TABLE_SELECT_PROTECTED_CELLS,
- XML_TOK_TABLE_SELECT_UNPROTECTED_CELLS
+ XML_TOK_TABLE_SELECT_UNPROTECTED_CELLS,
+ XML_TOK_TABLE_SELECT_PROTECTED_CELLS_EXT,
+ XML_TOK_TABLE_SELECT_UNPROTECTED_CELLS_EXT
};
enum ScXMLTableRowsTokens
diff --git a/sc/source/filter/xml/xmltabi.cxx b/sc/source/filter/xml/xmltabi.cxx
index 1701529..fc23c22 100644
--- a/sc/source/filter/xml/xmltabi.cxx
+++ b/sc/source/filter/xml/xmltabi.cxx
@@ -286,6 +286,7 @@ SvXMLImportContext *ScXMLTableContext::CreateChildContext( sal_uInt16 nPrefix,
rLName, xAttrList );
break;
case XML_TOK_TABLE_PROTECTION:
+ case XML_TOK_TABLE_PROTECTION_EXT:
pContext = new ScXMLTableProtectionContext( GetScImport(), nPrefix, rLName, xAttrList );
break;
case XML_TOK_TABLE_ROW_GROUP:
@@ -454,9 +455,11 @@ ScXMLTableProtectionContext::ScXMLTableProtectionContext(
switch (rAttrTokenMap.Get(nLocalPrefix, aLocalName))
{
case XML_TOK_TABLE_SELECT_PROTECTED_CELLS:
+ case XML_TOK_TABLE_SELECT_PROTECTED_CELLS_EXT:
bSelectProtectedCells = IsXMLToken(aValue, XML_TRUE);
break;
case XML_TOK_TABLE_SELECT_UNPROTECTED_CELLS:
+ case XML_TOK_TABLE_SELECT_UNPROTECTED_CELLS_EXT:
bSelectUnprotectedCells = IsXMLToken(aValue, XML_TRUE);
break;
default:
commit 2d24c0897c51e28d1c8909447b6f3fcf9bcb3f63
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date: Sat Dec 28 08:13:12 2013 +0100
only write new element and attributes in ODF 1.2 extended
Change-Id: I038f200f500ef1c6a0815b6332fb17bb2f62282a
diff --git a/sc/source/filter/xml/xmlexprt.cxx b/sc/source/filter/xml/xmlexprt.cxx
index 96620d4..42c90fa 100644
--- a/sc/source/filter/xml/xmlexprt.cxx
+++ b/sc/source/filter/xml/xmlexprt.cxx
@@ -2883,7 +2883,7 @@ void ScXMLExport::WriteTable(sal_Int32 nTable, const Reference<sheet::XSpreadshe
AddAttribute( XML_NAMESPACE_TABLE, XML_PRINT, XML_FALSE);
SvXMLElementExport aElemT(*this, sElemTab, true, true);
- if (pProtect && pProtect->isProtected())
+ if (pProtect && pProtect->isProtected() && getDefaultVersion() > SvtSaveOptions::ODFVER_012)
{
if (pProtect->isOptionEnabled(ScTableProtection::SELECT_LOCKED_CELLS))
AddAttribute(XML_NAMESPACE_TABLE, XML_SELECT_PROTECTED_CELLS, XML_TRUE);
commit 643809553d63f87a02e1da822d1fb58c4f131ff2
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date: Thu Dec 19 04:36:55 2013 +0100
fix invalid string access in OUString::copy
Change-Id: Idccec35f2838b54a7915aa4a0aeb229c69bae74d
diff --git a/sc/source/core/tool/rangeutl.cxx b/sc/source/core/tool/rangeutl.cxx
index 9e2ce6b..10fdf13 100644
--- a/sc/source/core/tool/rangeutl.cxx
+++ b/sc/source/core/tool/rangeutl.cxx
@@ -396,7 +396,7 @@ void ScRangeStringConverter::GetTokenByOffset(
sal_Unicode cQuote)
{
sal_Int32 nLength = rString.getLength();
- if( nOffset >= nLength )
+ if( nOffset == -1 || nOffset >= nLength )
{
rToken = OUString();
nOffset = -1;
More information about the Libreoffice-commits
mailing list