diff options
author | Katarina Machalkova <kmachalkova@suse.cz> | 2011-06-13 13:53:02 +0200 |
---|---|---|
committer | Kohei Yoshida <kyoshida@novell.com> | 2011-06-13 10:51:11 -0400 |
commit | 2d33162c409ed520b0befc063db3102c4f552f11 (patch) | |
tree | f2869e4b243abd9b3990f1378f8a19fa514c66c8 | |
parent | 7fc1ed9d96aecbd651537651be2fec787f5a8e6e (diff) |
fdo#38154: convert split win Y coord to 16bit int before xls export
Excel then won't complain about invalid xls file
(this is some fallout from increasing Calc row limit above 65k lines)
Signed-off-by: Kohei Yoshida <kyoshida@novell.com>
-rw-r--r-- | sc/source/filter/excel/xeview.cxx | 4 | ||||
-rw-r--r-- | sc/source/filter/excel/xiview.cxx | 7 | ||||
-rw-r--r-- | sc/source/filter/inc/xlview.hxx | 2 |
3 files changed, 7 insertions, 6 deletions
diff --git a/sc/source/filter/excel/xeview.cxx b/sc/source/filter/excel/xeview.cxx index 92cc65c0c..437a95367 100644 --- a/sc/source/filter/excel/xeview.cxx +++ b/sc/source/filter/excel/xeview.cxx @@ -207,7 +207,7 @@ void XclExpPane::SaveXml( XclExpXmlStream& rStrm ) void XclExpPane::WriteBody( XclExpStream& rStrm ) { rStrm << mnSplitX - << mnSplitY + << static_cast<sal_uInt16>( mnSplitY ) << maSecondXclPos << mnActivePane; if( rStrm.GetRoot().GetBiff() >= EXC_BIFF5 ) @@ -369,7 +369,7 @@ XclExpTabViewSettings::XclExpTabViewSettings( const XclExpRoot& rRoot, SCTAB nSc { // split window: position is in twips maData.mnSplitX = ulimit_cast< sal_uInt16 >( rTabSett.maSplitPos.X() ); - maData.mnSplitY = ulimit_cast< sal_uInt16 >( rTabSett.maSplitPos.Y() ); + maData.mnSplitY = ulimit_cast< sal_uInt32 >( rTabSett.maSplitPos.Y() ); } // selection diff --git a/sc/source/filter/excel/xiview.cxx b/sc/source/filter/excel/xiview.cxx index ff1f94d97..5882d56fc 100644 --- a/sc/source/filter/excel/xiview.cxx +++ b/sc/source/filter/excel/xiview.cxx @@ -198,9 +198,10 @@ void XclImpTabViewSettings::ReadScl( XclImpStream& rStrm ) void XclImpTabViewSettings::ReadPane( XclImpStream& rStrm ) { - rStrm >> maData.mnSplitX - >> maData.mnSplitY - >> maData.maSecondXclPos + rStrm >> maData.mnSplitX; + maData.mnSplitY = rStrm.ReaduInt16(); + + rStrm >> maData.maSecondXclPos >> maData.mnActivePane; } diff --git a/sc/source/filter/inc/xlview.hxx b/sc/source/filter/inc/xlview.hxx index ff524b82d..b3dff0a07 100644 --- a/sc/source/filter/inc/xlview.hxx +++ b/sc/source/filter/inc/xlview.hxx @@ -137,7 +137,7 @@ struct XclTabViewData XclAddress maFirstXclPos; /// First visible cell. XclAddress maSecondXclPos; /// First visible cell in additional panes. sal_uInt16 mnSplitX; /// Split X position, or number of frozen columns. - sal_uInt16 mnSplitY; /// Split Y position, or number of frozen rows. + sal_uInt32 mnSplitY; /// Split Y position, or number of frozen rows. sal_uInt16 mnNormalZoom; /// Zoom factor for normal view. sal_uInt16 mnPageZoom; /// Zoom factor for pagebreak preview. sal_uInt16 mnCurrentZoom; /// Zoom factor for current view. |