[libreoffice/f20] Resolves: rhbz#1008102 Revert transpose data in rows ranges
Caolán McNamara
caolanm at fedoraproject.org
Thu Nov 21 15:42:33 UTC 2013
commit b39cf4b16a63c7afc8ad90a9a484e6064d8ede39
Author: Caolán McNamara <caolanm at redhat.com>
Date: Thu Nov 21 15:50:17 2013 +0000
Resolves: rhbz#1008102 Revert transpose data in rows ranges
...spose-data-in-rows-ranges-for-internal-da.patch | 109 ++++++++++++++++++++
libreoffice.spec | 7 +-
2 files changed, 115 insertions(+), 1 deletions(-)
---
diff --git a/0001-Revert-transpose-data-in-rows-ranges-for-internal-da.patch b/0001-Revert-transpose-data-in-rows-ranges-for-internal-da.patch
new file mode 100644
index 0000000..b63c208
--- /dev/null
+++ b/0001-Revert-transpose-data-in-rows-ranges-for-internal-da.patch
@@ -0,0 +1,109 @@
+From 68e39b840d6fbfc7cd9c12791d1c1a64cf60ec96 Mon Sep 17 00:00:00 2001
+From: Markus Mohrhard <markus.mohrhard at googlemail.com>
+Date: Sat, 2 Nov 2013 20:44:38 +0100
+Subject: [PATCH] Revert "transpose "data in rows" ranges for internal data
+ provider, fdo#62057"
+
+This reverts commit 14fa5488a829936275f79a7693b13da55114220e.
+
+Conflicts:
+ xmloff/source/chart/SchXMLTableContext.cxx
+---
+ xmloff/source/chart/SchXMLChartContext.cxx | 4 ++--
+ xmloff/source/chart/SchXMLTableContext.cxx | 33 ++----------------------------
+ xmloff/source/chart/SchXMLTableContext.hxx | 5 ++---
+ 3 files changed, 6 insertions(+), 36 deletions(-)
+
+diff --git a/xmloff/source/chart/SchXMLChartContext.cxx b/xmloff/source/chart/SchXMLChartContext.cxx
+index 02fea26..dd0a125 100644
+--- a/xmloff/source/chart/SchXMLChartContext.cxx
++++ b/xmloff/source/chart/SchXMLChartContext.cxx
+@@ -781,7 +781,7 @@ void SchXMLChartContext::EndElement()
+ //own data or only rectangular range available
+
+ if( xNewDoc->hasInternalDataProvider() )
+- SchXMLTableHelper::applyTableToInternalDataProvider( maTable, xNewDoc, meDataRowSource );
++ SchXMLTableHelper::applyTableToInternalDataProvider( maTable, xNewDoc );
+
+ bool bOlderThan2_3 = SchXMLTools::isDocumentGeneratedWithOpenOfficeOlderThan2_3( Reference< frame::XModel >( xNewDoc, uno::UNO_QUERY ));
+ bool bOldFileWithOwnDataFromRows = (bOlderThan2_3 && bHasOwnData && (meDataRowSource==chart::ChartDataRowSource_ROWS)); // in this case there are range addresses that are simply wrong.
+@@ -818,7 +818,7 @@ void SchXMLChartContext::EndElement()
+ if( !xNewDoc->hasInternalDataProvider() )
+ {
+ xNewDoc->createInternalDataProvider( sal_False /* bCloneExistingData */ );
+- SchXMLTableHelper::applyTableToInternalDataProvider( maTable, xNewDoc, meDataRowSource );
++ SchXMLTableHelper::applyTableToInternalDataProvider( maTable, xNewDoc );
+ try
+ {
+ lcl_ApplyDataFromRectangularRangeToDiagram( xNewDoc, msChartAddress, meDataRowSource, mbRowHasLabels, mbColHasLabels, bHasOwnData, msColTrans, msRowTrans );
+diff --git a/xmloff/source/chart/SchXMLTableContext.cxx b/xmloff/source/chart/SchXMLTableContext.cxx
+index ad0b7cd..d1a0466 100644
+--- a/xmloff/source/chart/SchXMLTableContext.cxx
++++ b/xmloff/source/chart/SchXMLTableContext.cxx
+@@ -738,35 +738,9 @@ static void lcl_ApplyCellToComplexLabel( const SchXMLCell& rCell, Sequence< uno:
+ }
+ }
+
+-namespace {
+-
+-void transposeTable(SchXMLTable& rTable)
+-{
+- std::vector<std::vector<SchXMLCell> > aNewData;
+- sal_Int32 nRows = rTable.aData.size();
+- aNewData.resize(rTable.nMaxColumnIndex+1);
+- for(sal_Int32 i = 0; i < nRows; ++i)
+- {
+- sal_Int32 nCols = rTable.aData[i].size();
+- for(sal_Int32 j = 0; j < nCols; ++j)
+- {
+- SchXMLCell& rCell = rTable.aData[i][j];
+- aNewData[j].push_back(rCell);
+- }
+- }
+- bool bHasRowHeader = rTable.bHasHeaderRow;
+- bool bHasColHeader = rTable.bHasHeaderColumn;
+- rTable.bHasHeaderColumn = bHasRowHeader;
+- rTable.bHasHeaderRow = bHasColHeader;
+- rTable.nMaxColumnIndex = nRows;
+- rTable.aData = aNewData;
+-}
+-
+-}
+-
+ void SchXMLTableHelper::applyTableToInternalDataProvider(
+- SchXMLTable rTable,
+- uno::Reference< chart2::XChartDocument > xChartDoc, chart::ChartDataRowSource eDataRowSource )
++ const SchXMLTable& rTable,
++ uno::Reference< chart2::XChartDocument > xChartDoc )
+ {
+ // apply all data read from the local table to the internal data provider
+ if( !xChartDoc.is() || !xChartDoc->hasInternalDataProvider() )
+@@ -775,9 +749,6 @@ void SchXMLTableHelper::applyTableToInternalDataProvider(
+ if( !xDataProv.is() )
+ return;
+
+- if(eDataRowSource == chart::ChartDataRowSource_ROWS)
+- transposeTable(rTable);
+-
+ //prepare the read local table data
+ sal_Int32 nNumRows( static_cast< sal_Int32 >( rTable.aData.size()));
+ sal_Int32 nRowOffset = 0;
+diff --git a/xmloff/source/chart/SchXMLTableContext.hxx b/xmloff/source/chart/SchXMLTableContext.hxx
+index 19993cb..6919dcc 100644
+--- a/xmloff/source/chart/SchXMLTableContext.hxx
++++ b/xmloff/source/chart/SchXMLTableContext.hxx
+@@ -73,9 +73,8 @@ private:
+ sal_Int32& nRows, sal_Int32& nColumns );
+
+ public:
+- static void applyTableToInternalDataProvider( SchXMLTable rTable,
+- com::sun::star::uno::Reference< com::sun::star::chart2::XChartDocument > xChartDoc,
+- com::sun::star::chart::ChartDataRowSource eDataRowSource );
++ static void applyTableToInternalDataProvider( const SchXMLTable& rTable,
++ com::sun::star::uno::Reference< com::sun::star::chart2::XChartDocument > xChartDoc );
+
+ /** This function reorders local data to fit the correct data structure.
+ Call it after the data series got their styles set.
+--
+1.8.3.1
+
diff --git a/libreoffice.spec b/libreoffice.spec
index 7179a65..6c116ca 100644
--- a/libreoffice.spec
+++ b/libreoffice.spec
@@ -43,7 +43,7 @@ Summary: Free Software Productivity Suite
Name: libreoffice
Epoch: 1
Version: %{libo_version}.2
-Release: 5%{?libo_prerelease}%{?dist}
+Release: 6%{?libo_prerelease}%{?dist}
License: (MPLv1.1 or LGPLv3+) and LGPLv3 and LGPLv2+ and BSD and (MPLv1.1 or GPLv2 or LGPLv2 or Netscape) and Public Domain and ASL 2.0 and Artistic and MPLv2.0
Group: Applications/Productivity
URL: http://www.libreoffice.org/default/
@@ -272,6 +272,7 @@ Patch31: 0001-rhbz-1031989-Accept-pt-in-addition-to-deprecated-pt.patch
Patch32: 0001-Related-rhbz-1014990-valgrind-reports-uninitialized-.patch
Patch33: 0001-add-config.-for-formats-newly-supported-by-libmwaw.patch
Patch34: 0001-enable-more-formats-supported-by-libmwaw.patch
+Patch35: 0001-Revert-transpose-data-in-rows-ranges-for-internal-da.patch
%define instdir %{_libdir}
%define baseinstdir %{instdir}/libreoffice
@@ -1041,6 +1042,7 @@ mv -f redhat.soc extras/source/palettes/standard.soc
%patch32 -p1 -b .rhbz-1014990-valgrind-reports-uninitialized-.patch
%patch33 -p1 -b .add-config.-for-formats-newly-supported-by-libmwaw.patch
%patch34 -p1 -b .enable-more-formats-supported-by-libmwaw.patch
+%patch35 -p1 -b .Revert-transpose-data-in-rows-ranges-for-internal-da.patch
# TODO: check this
# these are horribly incomplete--empty translations and copied english
@@ -2130,6 +2132,9 @@ update-desktop-database %{_datadir}/applications &> /dev/null || :
%endif
%changelog
+* Thu Nov 21 2013 Caolán McNamara <caolanm at redhat.com> - 1:4.1.3.2-5
+- Resolves: rhbz#1008102 Revert transpose data in rows ranges
+
* Wed Nov 20 2013 Stephan Bergmann <sbergman at redhat.com> - 1:4.1.3.2-5
- Resolves: rhbz#1031989 Accept --pt in addition to deprecated -pt
- Related: rhbz#1014990 valgrind reports uninitialized variables
More information about the scm-commits
mailing list