[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-5.3' - 6 commits - configure.ac officecfg/registry sc/source sw/inc sw/source

Andras Timar andras.timar at collabora.com
Wed Apr 19 14:58:07 UTC 2017


 configure.ac                                             |    2 +-
 officecfg/registry/schema/org/openoffice/Office/Calc.xcs |    4 ++--
 sc/source/core/data/document10.cxx                       |    9 +++++++++
 sc/source/core/tool/token.cxx                            |   10 ++++++++++
 sc/source/ui/docshell/docfunc.cxx                        |    2 +-
 sc/source/ui/undo/undoblk.cxx                            |    2 +-
 sc/source/ui/view/viewfun2.cxx                           |    1 +
 sw/inc/swcrsr.hxx                                        |    1 +
 sw/source/core/crsr/crsrsh.cxx                           |    6 ++++++
 9 files changed, 32 insertions(+), 5 deletions(-)

New commits:
commit 0f2431149dfcd03f58c1fe945606aa32380acdf9
Author: Andras Timar <andras.timar at collabora.com>
Date:   Wed Apr 19 16:57:35 2017 +0200

    Bump version to 5.3-6
    
    Change-Id: I2163820e1f7ba45ad02a341662c45a1c7627e078

diff --git a/configure.ac b/configure.ac
index 03ba74de3278..90ccb776042a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -9,7 +9,7 @@ dnl in order to create a configure script.
 # several non-alphanumeric characters, those are split off and used only for the
 # ABOUTBOXPRODUCTVERSIONSUFFIX in openoffice.lst. Why that is necessary, no idea.
 
-AC_INIT([Collabora Office],[5.3.10.5],[],[],[https://collaboraoffice.com/])
+AC_INIT([Collabora Office],[5.3.10.6],[],[],[https://collaboraoffice.com/])
 
 AC_PREREQ([2.59])
 
commit b458fbf9470cf84a26dbd05119970196383118ae
Author: Michael Stahl <mstahl at redhat.com>
Date:   Wed Apr 19 10:44:53 2017 +0200

    tdf#106929 sw: SwCursorShell::Pop() ensure cursor ring is recreated
    
    ... from table cursor.  The problem is that in this case, between
    Push() and Pop() there is no call to ClearMark() or any of the other
    functions that sets the SwTableCursor::m_bChanged flag, so MakeBoxSels()
    is never called for the m_pCurrentCursor after Pop() and there is no
    cursor ring selecting all table cells.
    
    (regression from b227a8e4d65e4bbfe991aed9342fe3e30eca8639)
    
    Change-Id: I5bce18b71fed60a926f4ddf9938dfb7d1ddf4e92
    (cherry picked from commit c72b9c1dc5683a132bf00659e0c8556253340c97)
    Reviewed-on: https://gerrit.libreoffice.org/36670
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
    (cherry picked from commit 0ae1b76c3a90226ba588eb75837ab2f494ac5d5f)

diff --git a/sw/inc/swcrsr.hxx b/sw/inc/swcrsr.hxx
index 0f9ab9fb3f7a..3216db3316a9 100644
--- a/sw/inc/swcrsr.hxx
+++ b/sw/inc/swcrsr.hxx
@@ -300,6 +300,7 @@ public:
     }
 
     bool IsChgd() const { return m_bChanged; }
+    void SetChgd() { m_bChanged = true; }
 
     // Park table cursor at start node of boxes.
     void ParkCursor();
diff --git a/sw/source/core/crsr/crsrsh.cxx b/sw/source/core/crsr/crsrsh.cxx
index 69ca21f80fc7..274a501f4856 100644
--- a/sw/source/core/crsr/crsrsh.cxx
+++ b/sw/source/core/crsr/crsrsh.cxx
@@ -2072,7 +2072,13 @@ bool SwCursorShell::Pop( bool bOldCursor )
         if( !m_pCurrentCursor->IsInProtectTable( true ) &&
             !m_pCurrentCursor->IsSelOvr( nsSwCursorSelOverFlags::SELOVER_TOGGLE |
                                  nsSwCursorSelOverFlags::SELOVER_CHANGEPOS ) )
+        {
             UpdateCursor(); // update current cursor
+            if (m_pTableCursor)
+            { // tdf#106929 ensure m_pCurrentCursor ring is recreated from table
+                m_pTableCursor->SetChgd();
+            }
+        }
     }
     return true;
 }
commit 0fc37f5a71ff2adeaad3c02429e3fa623e5510d5
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Mon Apr 10 23:05:09 2017 +0200

    call UpdateReference also for single cell copying, tdf#105245
    
     This is a combination of 2 commits.
    
    call UpdateReference also for single cell copying, tdf#105245
    
    Reviewed-on: https://gerrit.libreoffice.org/36393
    Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
    Tested-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
    (cherry picked from commit cb57a432ba98ffe197c8fd2528e4b363c3285cc4)
    
    only handling copy&paste needed, cut&paste bailed out, tdf#105245 follow-up
    
    (cherry picked from commit 840ac578dc5c21731b927bad6113839c4c69c108)
    
    946d9f09e7571d347111ad66326ab375d153e298
    
    Change-Id: I5fed22d2835466cbd07f8dbd917e9f881b7b2832
    Reviewed-on: https://gerrit.libreoffice.org/36557
    Reviewed-by: Eike Rathke <erack at redhat.com>
    Tested-by: Jenkins <ci at libreoffice.org>
    (cherry picked from commit bbdaac9c5d03d59c55dc8ec1d9c34df502c11dea)

diff --git a/sc/source/core/data/document10.cxx b/sc/source/core/data/document10.cxx
index 896499995388..c5bc3118a174 100644
--- a/sc/source/core/data/document10.cxx
+++ b/sc/source/core/data/document10.cxx
@@ -125,6 +125,15 @@ bool ScDocument::CopyOneCellFromClip(
         maTabs[i]->CopyOneCellFromClip(rCxt, nCol1, nRow1, nCol2, nRow2,  aClipRange.aStart.Row(), pSrcTab);
     }
 
+    sc::RefUpdateContext aRefCxt(*this);
+    aRefCxt.maRange = ScRange(nCol1, nRow1, rCxt.getTabStart(), nCol2, nRow2, nTabEnd);
+    aRefCxt.mnColDelta = nCol1 - aSrcPos.Col();
+    aRefCxt.mnRowDelta = nRow1 - aSrcPos.Row();
+    aRefCxt.mnTabDelta = rCxt.getTabStart() - aSrcPos.Tab();
+    // Only Copy&Paste, for Cut&Paste we already bailed out early.
+    aRefCxt.meMode = URM_COPY;
+    UpdateReference(aRefCxt, rCxt.getUndoDoc(), false);
+
     return true;
 }
 
commit fea2599a96a8e532867e08eb38eae3b7aeb19d8e
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date:   Wed Apr 5 21:09:59 2017 -0400

    tdf#92650: handle overwritten references correctly in undo.
    
    (cherry picked from commit de39b6ba3a9edd20a476937ef0c78920df2f5c6d)
    
     Conflicts:
            sc/source/ui/docshell/docfunc.cxx
    
    Change-Id: Idc3fbd78f8163c97a9cd80a3ff474b6da0349353
    Reviewed-on: https://gerrit.libreoffice.org/36539
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Eike Rathke <erack at redhat.com>
    (cherry picked from commit 856a2d868fedd010d58d6082d3cb4753a019408a)

diff --git a/sc/source/core/tool/token.cxx b/sc/source/core/tool/token.cxx
index 23f986981784..bf25d135f728 100644
--- a/sc/source/core/tool/token.cxx
+++ b/sc/source/core/tool/token.cxx
@@ -3166,6 +3166,11 @@ sc::RefUpdateResult ScTokenArray::AdjustReferenceOnMove(
                                 aAbs = aErrorPos;
                             aRes.mbReferenceModified = true;
                         }
+                        else if (rCxt.maRange.In(aAbs))
+                        {
+                            // Referenced cell has been overwritten.
+                            aRes.mbValueChanged = true;
+                        }
 
                         rRef.SetAddress(aAbs, rNewPos);
                         rRef.SetFlag3D(aAbs.Tab() != rNewPos.Tab() || !rRef.IsTabRel());
@@ -3182,6 +3187,11 @@ sc::RefUpdateResult ScTokenArray::AdjustReferenceOnMove(
                                 aAbs = aErrorRange;
                             aRes.mbReferenceModified = true;
                         }
+                        else if (rCxt.maRange.In(aAbs))
+                        {
+                            // Referenced range has been entirely overwritten.
+                            aRes.mbValueChanged = true;
+                        }
 
                         rRef.SetRange(aAbs, rNewPos);
                         // Absolute sheet reference => set 3D flag.
diff --git a/sc/source/ui/docshell/docfunc.cxx b/sc/source/ui/docshell/docfunc.cxx
index 2ecad6937505..f6ce56e90219 100644
--- a/sc/source/ui/docshell/docfunc.cxx
+++ b/sc/source/ui/docshell/docfunc.cxx
@@ -2840,7 +2840,7 @@ bool ScDocFunc::MoveBlock( const ScRange& rSource, const ScAddress& rDestPos,
         ScDrawLayer::MoveCells() which may move away inserted objects to wrong
         positions (e.g. if source and destination range overlaps).*/
     rDoc.CopyFromClip( aPasteDest, aDestMark, InsertDeleteFlags::ALL & ~(InsertDeleteFlags::OBJECTS),
-                        nullptr, pClipDoc, true, false, bIncludeFiltered );
+                        pUndoDoc, pClipDoc, true, false, bIncludeFiltered );
 
     // skipped rows and merged cells don't mix
     if ( !bIncludeFiltered && pClipDoc->HasClipFilteredRows() )
diff --git a/sc/source/ui/undo/undoblk.cxx b/sc/source/ui/undo/undoblk.cxx
index 2c19695b6b86..6d0466dd1dd3 100644
--- a/sc/source/ui/undo/undoblk.cxx
+++ b/sc/source/ui/undo/undoblk.cxx
@@ -1102,7 +1102,7 @@ bool ScUndoPaste::CanRepeat(SfxRepeatTarget& rTarget) const
 ScUndoDragDrop::ScUndoDragDrop( ScDocShell* pNewDocShell,
                     const ScRange& rRange, ScAddress aNewDestPos, bool bNewCut,
                     ScDocument* pUndoDocument, bool bScenario ) :
-    ScMoveUndo( pNewDocShell, pUndoDocument, nullptr, SC_UNDO_REFFIRST ),
+    ScMoveUndo( pNewDocShell, pUndoDocument, nullptr, SC_UNDO_REFLAST ),
     mnPaintExtFlags( 0 ),
     aSrcRange( rRange ),
     bCut( bNewCut ),
commit 9bc76a7e0903c9892da719469470508d6b142689
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Sat Apr 8 21:13:56 2017 +0200

    actually show the newly selected cell, tdf#106194
    
    Change-Id: I0c9f839cbe55f2670602567e61dc4aba77fbef61
    Reviewed-on: https://gerrit.libreoffice.org/36303
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
    (cherry picked from commit dbc616c0021b86e6365930ba581818fea280d1a8)
    Reviewed-on: https://gerrit.libreoffice.org/36386
    Reviewed-by: Eike Rathke <erack at redhat.com>
    (cherry picked from commit 7c1314bb1e63f9c3460175a8ee30422ebf3c4d37)

diff --git a/sc/source/ui/view/viewfun2.cxx b/sc/source/ui/view/viewfun2.cxx
index 4b3e0334edda..691ba520dc84 100644
--- a/sc/source/ui/view/viewfun2.cxx
+++ b/sc/source/ui/view/viewfun2.cxx
@@ -1936,6 +1936,7 @@ bool ScViewFunc::SearchAndReplace( const SvxSearchItem* pSearchItem,
                             ( nTab == nOldTab ) &&
                             ( nCol != nOldCol || nRow != nOldRow ) )
                     {
+                        AlignToCursor(nCol, nRow, SC_FOLLOW_JUMP);
                         SetCursor( nCol, nRow, true );
                     }
                 }
commit 853fc3254ecd81c39de59f6411aa1172aa0606f9
Author: Andras Timar <andras.timar at collabora.com>
Date:   Wed Apr 19 16:56:42 2017 +0200

    Change merge cell defaults for Collabora Office
    
    Change-Id: Ib0f96e52f268df999fde34ea7bcf9ea9706ea11a

diff --git a/officecfg/registry/schema/org/openoffice/Office/Calc.xcs b/officecfg/registry/schema/org/openoffice/Office/Calc.xcs
index 72fc022484fd..5be0285add3e 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Calc.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Calc.xcs
@@ -1821,14 +1821,14 @@
             <desc>Specifies whether the Merge Cells dialog box is shown, when some cells are not empty.</desc>
             <label>Show Merge Cells dialog</label>
           </info>
-          <value>true</value>
+          <value>false</value>
         </prop>
         <prop oor:name="EmptyMergedCells" oor:type="xs:boolean" oor:nillable="false">
           <info>
             <desc>Specifies whether to empty the contents of the hidden cells (like Excel does).</desc>
             <label>Empty merged cells</label>
           </info>
-          <value>false</value>
+          <value>true</value>
         </prop>
       </group>
       <group oor:name="KeyBindings">


More information about the Libreoffice-commits mailing list