diff options
author | Eike Rathke <erack@redhat.com> | 2014-11-28 23:47:02 +0100 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2014-11-28 23:53:40 +0100 |
commit | 8bc56801af0540c0496c1f8ddd335578a8791017 (patch) | |
tree | 6b5a385576c629b7af9cb90329a01b1c3240123f /sc | |
parent | 34f2c4c603514185c695f1fbfff81546214c45d4 (diff) |
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
Diffstat (limited to 'sc')
-rw-r--r-- | sc/source/ui/view/viewdata.cxx | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/sc/source/ui/view/viewdata.cxx b/sc/source/ui/view/viewdata.cxx index b301c9009f73..87aaddc5bc84 100644 --- a/sc/source/ui/view/viewdata.cxx +++ b/sc/source/ui/view/viewdata.cxx @@ -2491,10 +2491,19 @@ void ScViewData::ReadExtOptions( const ScExtDocOptions& rDocOpt ) bool bVSplit = bFrozen ? (rTabSett.maFreezePos.Row() > 0) : (rTabSett.maSplitPos.Y() > 0); // first visible cell of top-left pane and additional panes - rViewTab.nPosX[ SC_SPLIT_LEFT ] = rTabSett.maFirstVis.Col(); - rViewTab.nPosY[ bVSplit ? SC_SPLIT_TOP : SC_SPLIT_BOTTOM ] = rTabSett.maFirstVis.Row(); - if( bHSplit ) rViewTab.nPosX[ SC_SPLIT_RIGHT ] = rTabSett.maSecondVis.Col(); - if( bVSplit ) rViewTab.nPosY[ SC_SPLIT_BOTTOM ] = rTabSett.maSecondVis.Row(); + if (rTabSett.maFirstVis.IsValid()) + { + rViewTab.nPosX[ SC_SPLIT_LEFT ] = rTabSett.maFirstVis.Col(); + 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 rViewTab.eHSplitMode = rViewTab.eVSplitMode = SC_SPLIT_NONE; |