Kaydet (Commit) 8bc56801 authored tarafından Eike Rathke's avatar Eike Rathke

set only valid positions from ScExtTabSettings at ScViewDataTable

Some address fields of ScExtTabSettings are initialized invalid and
maybe kept invalid, on purpose, so take care of that and use only the
valid fields.

Change-Id: I37cbf8ff49c6ccf38bfac3e1c8c6492ac7bad61b
üst 34f2c4c6
...@@ -2491,10 +2491,19 @@ void ScViewData::ReadExtOptions( const ScExtDocOptions& rDocOpt ) ...@@ -2491,10 +2491,19 @@ void ScViewData::ReadExtOptions( const ScExtDocOptions& rDocOpt )
bool bVSplit = bFrozen ? (rTabSett.maFreezePos.Row() > 0) : (rTabSett.maSplitPos.Y() > 0); bool bVSplit = bFrozen ? (rTabSett.maFreezePos.Row() > 0) : (rTabSett.maSplitPos.Y() > 0);
// first visible cell of top-left pane and additional panes // first visible cell of top-left pane and additional panes
rViewTab.nPosX[ SC_SPLIT_LEFT ] = rTabSett.maFirstVis.Col(); if (rTabSett.maFirstVis.IsValid())
rViewTab.nPosY[ bVSplit ? SC_SPLIT_TOP : SC_SPLIT_BOTTOM ] = rTabSett.maFirstVis.Row(); {
if( bHSplit ) rViewTab.nPosX[ SC_SPLIT_RIGHT ] = rTabSett.maSecondVis.Col(); rViewTab.nPosX[ SC_SPLIT_LEFT ] = rTabSett.maFirstVis.Col();
if( bVSplit ) rViewTab.nPosY[ SC_SPLIT_BOTTOM ] = rTabSett.maSecondVis.Row(); rViewTab.nPosY[ bVSplit ? SC_SPLIT_TOP : SC_SPLIT_BOTTOM ] = rTabSett.maFirstVis.Row();
}
if (rTabSett.maSecondVis.IsValid())
{
if (bHSplit)
rViewTab.nPosX[ SC_SPLIT_RIGHT ] = rTabSett.maSecondVis.Col();
if (bVSplit)
rViewTab.nPosY[ SC_SPLIT_BOTTOM ] = rTabSett.maSecondVis.Row();
}
// split mode, split and freeze position // split mode, split and freeze position
rViewTab.eHSplitMode = rViewTab.eVSplitMode = SC_SPLIT_NONE; rViewTab.eHSplitMode = rViewTab.eVSplitMode = SC_SPLIT_NONE;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment