sc/source/ui/view/viewdata.cxx |   17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)

New commits:
commit 0ae280d747e3e35efd16e06abbcfa7ccd4690e1c
Author: Eike Rathke <er...@redhat.com>
Date:   Fri Nov 28 23:47:02 2014 +0100

    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/13183
    Reviewed-by: Markus Mohrhard <markus.mohrh...@googlemail.com>
    Reviewed-by: Caolán McNamara <caol...@redhat.com>
    Tested-by: Caolán McNamara <caol...@redhat.com>

diff --git a/sc/source/ui/view/viewdata.cxx b/sc/source/ui/view/viewdata.cxx
index 90f1377..121d510 100644
--- a/sc/source/ui/view/viewdata.cxx
+++ b/sc/source/ui/view/viewdata.cxx
@@ -2506,10 +2506,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;
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to