[Libreoffice-commits] .: 2 commits - sc/source

Kohei Yoshida kohei at kemper.freedesktop.org
Tue Nov 29 08:52:02 PST 2011


 sc/source/ui/inc/tabcont.hxx   |    1 -
 sc/source/ui/unoobj/docuno.cxx |    7 ++++++-
 sc/source/ui/view/tabcont.cxx  |   16 ----------------
 sc/source/ui/view/tabview3.cxx |    2 +-
 4 files changed, 7 insertions(+), 19 deletions(-)

New commits:
commit 36d950fb16d214b7163223fc2b51f0990f96e494
Author: Kohei Yoshida <kohei.yoshida at suse.com>
Date:   Tue Nov 29 11:50:03 2011 -0500

    Let's not over-activate tab controls unnecessarily.
    
    This interfares with the preview shell passing selected tabs back to
    the view shell, by always selecting the first tab unconditionally.
    
    The tabs get painted fine even without this call, so let's remove it.

diff --git a/sc/source/ui/inc/tabcont.hxx b/sc/source/ui/inc/tabcont.hxx
index 6e922fa..5691234 100644
--- a/sc/source/ui/inc/tabcont.hxx
+++ b/sc/source/ui/inc/tabcont.hxx
@@ -79,7 +79,6 @@ public:
 
     void            UpdateInputContext();
     void            UpdateStatus();
-    void            ActivateView(sal_Bool bActivate);
 
     void            SetSheetLayoutRTL( sal_Bool bSheetRTL );
 };
diff --git a/sc/source/ui/view/tabcont.cxx b/sc/source/ui/view/tabcont.cxx
index 5666349..230736a 100644
--- a/sc/source/ui/view/tabcont.cxx
+++ b/sc/source/ui/view/tabcont.cxx
@@ -377,22 +377,6 @@ void ScTabControl::UpdateStatus()
     }
 }
 
-void ScTabControl::ActivateView(sal_Bool bActivate)
-{
-    ScMarkData& rMark = pViewData->GetMarkData();
-
-    sal_uInt16 nCurId = GetCurPageId();
-    if (!nCurId) return;            // kann vorkommen, wenn bei Excel-Import alles versteckt ist
-    sal_uInt16 nPage = nCurId - 1;
-
-    if (bActivate)
-    {
-        SelectPage( nPage+1, sal_True );
-        rMark.SelectTable( static_cast<SCTAB>(nPage), sal_True );
-    }
-    Invalidate();
-}
-
 void ScTabControl::SetSheetLayoutRTL( sal_Bool bSheetRTL )
 {
     SetEffectiveRTL( bSheetRTL );
diff --git a/sc/source/ui/view/tabview3.cxx b/sc/source/ui/view/tabview3.cxx
index 8bedb88..556d3bf 100644
--- a/sc/source/ui/view/tabview3.cxx
+++ b/sc/source/ui/view/tabview3.cxx
@@ -2291,7 +2291,7 @@ void ScTabView::ActivateView( bool bActivate, bool bFirst )
                 pHdl->EnterHandler();
         }
     }
-    pTabControl->ActivateView(bActivate);
+
     PaintExtras();
 
     aViewData.Activate(bActivate);
commit 654c4be03c86cf00f0c66f876caa392e9391f8f5
Author: Kohei Yoshida <kohei.yoshida at suse.com>
Date:   Tue Nov 29 11:24:27 2011 -0500

    Let's check the validity of sheet indices.  You never know...

diff --git a/sc/source/ui/unoobj/docuno.cxx b/sc/source/ui/unoobj/docuno.cxx
index b5de718..b9be493 100644
--- a/sc/source/ui/unoobj/docuno.cxx
+++ b/sc/source/ui/unoobj/docuno.cxx
@@ -899,8 +899,13 @@ bool ScModelObj::FillRenderMarkData( const uno::Any& aSelection,
     {
         uno::Sequence<sal_Int32> aSelected = xSelectedSheets->getSelectedSheets();
         ScMarkData::MarkedTabsType aSelectedTabs;
+        SCTAB nMaxTab = pDocShell->GetDocument()->GetTableCount() -1;
         for (sal_Int32 i = 0, n = aSelected.getLength(); i < n; ++i)
-            aSelectedTabs.insert(static_cast<SCTAB>(aSelected[i]));
+        {
+            SCTAB nSelected = static_cast<SCTAB>(aSelected[i]);
+            if (ValidTab(nSelected, nMaxTab))
+                aSelectedTabs.insert(static_cast<SCTAB>(aSelected[i]));
+        }
         rMark.SetSelectedTabs(aSelectedTabs);
     }
 


More information about the Libreoffice-commits mailing list