diff options
author | Eike Rathke <erack@redhat.com> | 2014-11-28 23:47:02 +0100 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2014-11-28 23:18:25 +0000 |
commit | d29fee4c0d18f8665c342707a2e54f4427bffec6 (patch) | |
tree | 0fe9c245857250902343eda419f48bab309f0c64 /sc/source/ui/view | |
parent | d10ab39d76a7b68ae5019fb3b542a6d23096793f (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
(cherry picked from commit 8bc56801af0540c0496c1f8ddd335578a8791017)
Reviewed-on: https://gerrit.libreoffice.org/13184
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Diffstat (limited to 'sc/source/ui/view')
-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 414f07f5221c..dee713907b28 100644 --- a/sc/source/ui/view/viewdata.cxx +++ b/sc/source/ui/view/viewdata.cxx @@ -2486,10 +2486,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; |