summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKatarina Machalkova <kmachalkova@suse.cz>2011-06-13 13:53:02 +0200
committerKohei Yoshida <kyoshida@novell.com>2011-06-13 10:51:11 -0400
commit2d33162c409ed520b0befc063db3102c4f552f11 (patch)
treef2869e4b243abd9b3990f1378f8a19fa514c66c8
parent7fc1ed9d96aecbd651537651be2fec787f5a8e6e (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.cxx4
-rw-r--r--sc/source/filter/excel/xiview.cxx7
-rw-r--r--sc/source/filter/inc/xlview.hxx2
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.