ooo-build r11418 - in trunk: . patches/src680 scratch/sc-xlsutil
- From: kyoshida svn gnome org
- To: svn-commits-list gnome org
- Subject: ooo-build r11418 - in trunk: . patches/src680 scratch/sc-xlsutil
- Date: Sat, 26 Jan 2008 03:22:06 +0000 (GMT)
Author: kyoshida
Date: Sat Jan 26 03:22:05 2008
New Revision: 11418
URL: http://svn.gnome.org/viewvc/ooo-build?rev=11418&view=rev
Log:
2008-01-25 Kohei Yoshida <kyoshida novell com>
* patches/src680/sc-skip-pivot-charts.diff: skip importing of pivot
charts altogether instead of trying to import them as empty charts.
* patches/src680/apply: apply the new patch.
* scratch/sc-xlsutil/xls_sheetpass_hash.cxx: fixed a buffer underrun
condition which might lead to an incorrect hash value generation.
Added:
trunk/patches/src680/sc-skip-pivot-charts.diff
Modified:
trunk/ChangeLog
trunk/patches/src680/apply
trunk/scratch/sc-xlsutil/xls_sheetpass_hash.cxx
Modified: trunk/patches/src680/apply
==============================================================================
--- trunk/patches/src680/apply (original)
+++ trunk/patches/src680/apply Sat Jan 26 03:22:05 2008
@@ -732,6 +732,10 @@
# Dynyamically resize filtered range when new data rows are present.
sc-dbrange-dynamic-resize.diff, n#352662, i#85305, kohei
+# When importing an Excel file, skip un-supported pivot charts altogether
+# instead of importing them as an empty chart object.
+sc-skip-pivot-charts.diff, n#355300, kohei
+
[ LinuxOnly ]
# accelerate linking, by extreme cunning i#63927
speed-local-link-except.diff, i#63927, michael
Added: trunk/patches/src680/sc-skip-pivot-charts.diff
==============================================================================
--- (empty file)
+++ trunk/patches/src680/sc-skip-pivot-charts.diff Sat Jan 26 03:22:05 2008
@@ -0,0 +1,110 @@
+Index: sc/source/filter/excel/xichart.cxx
+===================================================================
+RCS file: /cvs/sc/sc/sc/source/filter/excel/xichart.cxx,v
+retrieving revision 1.16
+diff -u -r1.16 xichart.cxx
+--- sc/source/filter/excel/xichart.cxx 22 Oct 2007 16:36:47 -0000 1.16
++++ sc/source/filter/excel/xichart.cxx 26 Jan 2008 00:02:11 -0000
+@@ -3309,7 +3309,8 @@
+
+ XclImpChart::XclImpChart( const XclImpRoot& rRoot, bool bOwnTab ) :
+ XclImpRoot( rRoot ),
+- mbOwnTab( bOwnTab )
++ mbOwnTab( bOwnTab ),
++ mbIsPivotChart( false )
+ {
+ }
+
+@@ -3356,7 +3357,10 @@
+
+ case EXC_ID_CHCHART: ReadChChart( rStrm ); break;
+ case EXC_ID_OBJ: GetTracer().TraceChartEmbeddedObj(); break;
+- case EXC_ID8_CHPIVOTREF: GetTracer().TracePivotChartExists(); break;
++ case EXC_ID8_CHPIVOTREF:
++ GetTracer().TracePivotChartExists();
++ mbIsPivotChart = true;
++ break;
+ }
+ }
+ }
+@@ -3380,6 +3384,11 @@
+ mxChartData->Convert( xChartDoc, rProgress );
+ }
+
++bool XclImpChart::IsPivotChart() const
++{
++ return mbIsPivotChart;
++}
++
+ void XclImpChart::ReadChChart( XclImpStream& rStrm )
+ {
+ mxChartData.reset( new XclImpChChart( GetRoot() ) );
+Index: sc/source/filter/excel/xiescher.cxx
+===================================================================
+RCS file: /cvs/sc/sc/sc/source/filter/excel/xiescher.cxx,v
+retrieving revision 1.54
+diff -u -r1.54 xiescher.cxx
+--- sc/source/filter/excel/xiescher.cxx 6 Jul 2007 12:37:20 -0000 1.54
++++ sc/source/filter/excel/xiescher.cxx 26 Jan 2008 00:02:12 -0000
+@@ -1400,6 +1400,11 @@
+ }
+ }
+
++bool XclImpChartObj::IsPivotChart() const
++{
++ return mxChart->IsPivotChart();
++}
++
+ SdrObject* XclImpChartObj::CreateSdrObject( const Rectangle& rAnchorRect, ScfProgressBar& rProgress ) const
+ {
+ SdrObjectPtr xSdrObj;
+@@ -2092,7 +2097,8 @@
+ DBG_ASSERT_BIFF( GetBiff() >= EXC_BIFF5 );
+ XclImpChartObjRef xChartObj( new XclImpChartObj( GetRoot(), true ) );
+ xChartObj->ReadChartSubStream( rStrm );
+- maTabCharts.push_back( xChartObj );
++ if ( !xChartObj->IsPivotChart() )
++ maTabCharts.push_back( xChartObj );
+ }
+
+ // *** Drawing objects *** ----------------------------------------------------
+Index: sc/source/filter/inc/xichart.hxx
+===================================================================
+RCS file: /cvs/sc/sc/sc/source/filter/inc/xichart.hxx,v
+retrieving revision 1.9
+diff -u -r1.9 xichart.hxx
+--- sc/source/filter/inc/xichart.hxx 3 Jul 2007 13:25:45 -0000 1.9
++++ sc/source/filter/inc/xichart.hxx 26 Jan 2008 00:02:12 -0000
+@@ -1390,6 +1390,8 @@
+ /** Creates the chart object in the passed component. */
+ void Convert( XModelRef xModel, ScfProgressBar& rProgress ) const;
+
++ bool IsPivotChart() const;
++
+ private:
+ /** Reads the CHCHART group (entire chart data). */
+ void ReadChChart( XclImpStream& rStrm );
+@@ -1397,6 +1399,7 @@
+ private:
+ XclImpChChartRef mxChartData; /// The chart data (CHCHART group).
+ bool mbOwnTab; /// true = own sheet; false = embedded object.
++ bool mbIsPivotChart;
+ };
+
+ // ============================================================================
+Index: sc/source/filter/inc/xiescher.hxx
+===================================================================
+RCS file: /cvs/sc/sc/sc/source/filter/inc/xiescher.hxx,v
+retrieving revision 1.27
+diff -u -r1.27 xiescher.hxx
+--- sc/source/filter/inc/xiescher.hxx 6 Jul 2007 12:38:40 -0000 1.27
++++ sc/source/filter/inc/xiescher.hxx 26 Jan 2008 00:02:12 -0000
+@@ -371,6 +371,8 @@
+ @descr The passed stream must be located in the BOF record of the chart substream. */
+ void ReadChartSubStream( XclImpStream& rStrm );
+
++ bool IsPivotChart() const;
++
+ /** Creates and returns a new SdrObject that contains the chart. Caller takes ownership! */
+ SdrObject* CreateSdrObject( const Rectangle& rAnchorRect, ScfProgressBar& rProgress ) const;
+
Modified: trunk/scratch/sc-xlsutil/xls_sheetpass_hash.cxx
==============================================================================
--- trunk/scratch/sc-xlsutil/xls_sheetpass_hash.cxx (original)
+++ trunk/scratch/sc-xlsutil/xls_sheetpass_hash.cxx Sat Jan 26 03:22:05 2008
@@ -64,7 +64,6 @@
wPasswordHash = ((wPasswordHash >> 14) & 0x01) |
((wPasswordHash << 1) & 0x7fff);
- wPasswordHash ^= *pch;
wPasswordHash ^= (0x8000 | ('N' << 8) | 'K');
wPasswordHash ^= cchPassword;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]