[Libreoffice-commits] core.git: sc/source

Laurent Balland-Poirier laurent.balland-poirier at laposte.net
Tue Sep 30 06:52:15 PDT 2014


 sc/source/ui/dbgui/validate.cxx |   12 +++++++++++-
 sc/source/ui/view/cellsh2.cxx   |    2 --
 2 files changed, 11 insertions(+), 3 deletions(-)

New commits:
commit 31432c4469e7e0d05516143533d6b5e0b411dda3
Author: Laurent Balland-Poirier <laurent.balland-poirier at laposte.net>
Date:   Sat Sep 27 07:59:04 2014 +0200

    fdo#53920 Switch back tab at RefButton closure time
    
    Bug occurs because visible tab is not the initial tab. So, instead of
    switching back to initial tab at dialog closure time (removed from
    cellsh2.cxx), this commit proposes that switching back to initial tab
    is operate when expanding the RefButton shrink dialog.
    
    Change-Id: I3cf7ed14054fa69881d4ecbc55c48dfbfc4356aa
    Reviewed-on: https://gerrit.libreoffice.org/11660
    Reviewed-by: Kohei Yoshida <libreoffice at kohei.us>
    Tested-by: Kohei Yoshida <libreoffice at kohei.us>

diff --git a/sc/source/ui/dbgui/validate.cxx b/sc/source/ui/dbgui/validate.cxx
index 31b2a08..ca3333b 100644
--- a/sc/source/ui/dbgui/validate.cxx
+++ b/sc/source/ui/dbgui/validate.cxx
@@ -151,11 +151,21 @@ void ScTPValidationValue::RefInputDonePostHdl()
         m_pBtnRef->SetParent( m_pRefGrid );
 
     if ( ScValidationDlg *pValidationDlg = GetValidationDlg() )
+    {
         pValidationDlg->get_refinput_shrink_parent()->Hide();
+        ScViewData& rViewData = pValidationDlg->GetTabViewShell()->GetViewData();
+        SCTAB nCurTab = rViewData.GetTabNo();
+        SCTAB nRefTab = rViewData.GetRefTabNo();
+        // If RefInput switched to a different sheet from the data sheet,
+        // switch back: fdo#53920
+        if ( nCurTab != nRefTab )
+        {
+             rViewData.GetViewShell()->SetTabNo( nRefTab );
+        }
+    }
 
     if( m_pRefEdit && !m_pRefEdit->HasFocus() )
         m_pRefEdit->GrabFocus();
-
 }
 
 namespace {
diff --git a/sc/source/ui/view/cellsh2.cxx b/sc/source/ui/view/cellsh2.cxx
index df91eeb..11e0166e 100644
--- a/sc/source/ui/view/cellsh2.cxx
+++ b/sc/source/ui/view/cellsh2.cxx
@@ -847,8 +847,6 @@ void ScCellShell::ExecuteDB( SfxRequest& rReq )
                     assert(pDlg); //Dialog create fail!
 
                     short nResult = pDlg->Execute();
-                    //When picking Cell Range, other Tab may be switched. Need restore the correct tab
-                    pTabViewShell->SetTabNo( nTab );
                     if ( nResult == RET_OK )
                     {
                         const SfxItemSet* pOutSet = pDlg->GetOutputItemSet();


More information about the Libreoffice-commits mailing list