[libreoffice] add in these patches as well

Caolán McNamara caolanm at fedoraproject.org
Thu Jul 17 13:00:39 UTC 2014


commit 9831640935736c46e72a54716b12e80a112be781
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Thu Jul 17 14:00:31 2014 +0100

    add in these patches as well

 ...z-1117853-nStartPara-of-EE_PARA_NOT_FOUND.patch |   62 +++++++++
 0001-scrolling-very-slow-in-calc.patch             |  139 ++++++++++++++++++++
 libreoffice.spec                                   |    2 +
 3 files changed, 203 insertions(+), 0 deletions(-)
---
diff --git a/0001-Related-rhbz-1117853-nStartPara-of-EE_PARA_NOT_FOUND.patch b/0001-Related-rhbz-1117853-nStartPara-of-EE_PARA_NOT_FOUND.patch
new file mode 100644
index 0000000..c23fa6f
--- /dev/null
+++ b/0001-Related-rhbz-1117853-nStartPara-of-EE_PARA_NOT_FOUND.patch
@@ -0,0 +1,62 @@
+From fdb1d62a09f7320ee5c2828aa4ce84248a6e3e4e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm at redhat.com>
+Date: Thu, 17 Jul 2014 13:48:30 +0100
+Subject: [PATCH] Related: rhbz#1117853 nStartPara of EE_PARA_NOT_FOUND
+
+we know that nStartPara is EE_PARA_NOT_FOUND so rOutliner.GetAbsPos must have
+returned that, but we don't know the circumstances that lead to that yet.
+
+Change-Id: I53a488317d154b4a3c050248b8737da0a611ca43
+---
+ editeng/source/outliner/outliner.cxx | 3 +--
+ sd/source/ui/view/outlnvsh.cxx       | 5 ++---
+ 2 files changed, 3 insertions(+), 5 deletions(-)
+
+diff --git a/editeng/source/outliner/outliner.cxx b/editeng/source/outliner/outliner.cxx
+index 4d7214b..aaa843d 100644
+--- a/editeng/source/outliner/outliner.cxx
++++ b/editeng/source/outliner/outliner.cxx
+@@ -384,7 +384,6 @@ sal_Int32 Outliner::GetBulletsNumberingStatus() const
+ 
+ OutlinerParaObject* Outliner::CreateParaObject( sal_Int32 nStartPara, sal_Int32 nCount ) const
+ {
+-
+     if ( static_cast<sal_uLong>(nStartPara) + nCount >
+             static_cast<sal_uLong>(pParaList->GetParagraphCount()) )
+         nCount = pParaList->GetParagraphCount() - nStartPara;
+@@ -394,7 +393,7 @@ OutlinerParaObject* Outliner::CreateParaObject( sal_Int32 nStartPara, sal_Int32
+     if ( ( nStartPara + nCount ) > pEditEngine->GetParagraphCount() )
+         nCount = pEditEngine->GetParagraphCount() - nStartPara;
+ 
+-    if( !nCount )
++    if (nCount <= 0)
+         return NULL;
+ 
+     EditTextObject* pText = pEditEngine->CreateTextObject( nStartPara, nCount );
+diff --git a/sd/source/ui/view/outlnvsh.cxx b/sd/source/ui/view/outlnvsh.cxx
+index 03e899d..e3b4aa7 100644
+--- a/sd/source/ui/view/outlnvsh.cxx
++++ b/sd/source/ui/view/outlnvsh.cxx
+@@ -1658,7 +1658,6 @@ bool OutlineViewShell::UpdateTitleObject( SdPage* pPage, Paragraph* pPara )
+ 
+     ::Outliner&         rOutliner = pOlView->GetOutliner();
+     SdrTextObj*         pTO  = pOlView->GetTitleTextObject( pPage );
+-    OutlinerParaObject* pOPO = NULL;
+ 
+     OUString aTest = rOutliner.GetText(pPara);
+     bool    bText = !aTest.isEmpty();
+@@ -1675,9 +1674,9 @@ bool OutlineViewShell::UpdateTitleObject( SdPage* pPage, Paragraph* pPara )
+         }
+ 
+         // if we have a title object and a text, set the text
+-        if( pTO )
++        OutlinerParaObject* pOPO = pTO ? rOutliner.CreateParaObject(rOutliner.GetAbsPos(pPara), 1) : NULL;
++        if (pOPO)
+         {
+-            pOPO = rOutliner.CreateParaObject( rOutliner.GetAbsPos( pPara ), 1 );
+             pOPO->SetOutlinerMode( OUTLINERMODE_TITLEOBJECT );
+             pOPO->SetVertical( pTO->IsVerticalWriting() );
+             if( pTO->GetOutlinerParaObject() && (pOPO->GetTextObject() == pTO->GetOutlinerParaObject()->GetTextObject()) )
+-- 
+1.9.3
+
diff --git a/0001-scrolling-very-slow-in-calc.patch b/0001-scrolling-very-slow-in-calc.patch
new file mode 100644
index 0000000..30143c3
--- /dev/null
+++ b/0001-scrolling-very-slow-in-calc.patch
@@ -0,0 +1,139 @@
+From 52ac64848e41c6c3bba86c98361757aaf89ef3c6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm at redhat.com>
+Date: Tue, 15 Jul 2014 16:42:42 +0100
+Subject: [PATCH] scrolling very slow in calc
+
+even on a short spreadsheet scrolling up and down leaves
+the first/last row (depending on the direction of scroll)
+unchanged until the scrolling stops.
+
+http://people.freedesktop.org/~mst/calc_4.2_scrolling.webm
+
+On larger document there are rendering artifacts during scrolling which go away
+after scrolling for me and mstahl, but a bunch of people can show us piles of
+horribly broken spreadsheets after scrolling, esp wheel scrolling
+
+Revert "fdo#75026: Sometimes we need to update grid view...
+
+while not being active."
+
+This reverts commit 52cc88d6191ba0c4b6477e5c4b9c5d0f0228030d.
+
+Revert "fdo#68961: Check visible range during scrolling, and re-paint if necessary."
+
+This reverts commit e36c8a674845ab19577fc06d44b780549757e1e7.
+
+Revert "Repaint grid view when the visible area changes."
+
+This reverts commit b54c1a53b4d400b1c2d282c186af1fa8f151894e.
+
+Conflicts:
+	sc/source/ui/app/scmod.cxx
+
+Revert "Update visible ranges when updating the scroll bars."
+
+This reverts commit 391a57ef65687f2e373bac8d410e551aafa780ec.
+
+Change-Id: Ie170308cba18a9a74c7c72daf07dfa0a4ef7bd13
+---
+ sc/source/ui/inc/tabview.hxx   |  6 ------
+ sc/source/ui/view/gridwin4.cxx |  2 ++
+ sc/source/ui/view/tabview.cxx  |  4 ----
+ sc/source/ui/view/tabview3.cxx | 10 ----------
+ sc/source/ui/view/tabview4.cxx |  7 ++++++-
+ 5 files changed, 8 insertions(+), 21 deletions(-)
+
+diff --git a/sc/source/ui/inc/tabview.hxx b/sc/source/ui/inc/tabview.hxx
+index a5d7392..891af9e 100644
+--- a/sc/source/ui/inc/tabview.hxx
++++ b/sc/source/ui/inc/tabview.hxx
+@@ -204,12 +204,6 @@ private:
+ 
+     void            PaintRangeFinderEntry (ScRangeFindData* pData, SCTAB nTab);
+ 
+-    /**
+-     * Check the visible grid area to see if the visible range has changed. If
+-     * so, update the stored visible range, and re-paint the grid area.
+-     */
+-    void UpdateGrid();
+-
+ protected:
+     void            UpdateHeaderWidth( const ScVSplitPos* pWhich = NULL,
+                                         const SCROW* pPosY = NULL );
+diff --git a/sc/source/ui/view/gridwin4.cxx b/sc/source/ui/view/gridwin4.cxx
+index fa697ee5..a60fb82 100644
+--- a/sc/source/ui/view/gridwin4.cxx
++++ b/sc/source/ui/view/gridwin4.cxx
+@@ -390,6 +390,8 @@ void ScGridWindow::Draw( SCCOL nX1, SCROW nY1, SCCOL nX2, SCROW nY2, ScUpdateMod
+ 
+     OSL_ENSURE( ValidCol(nX2) && ValidRow(nY2), "GridWin Draw Bereich zu gross" );
+ 
++    UpdateVisibleRange();
++
+     if (nX2 < maVisibleRange.mnCol1 || nY2 < maVisibleRange.mnRow1)
+         return;
+                     // unsichtbar
+diff --git a/sc/source/ui/view/tabview.cxx b/sc/source/ui/view/tabview.cxx
+index aafd114..02b99b9 100644
+--- a/sc/source/ui/view/tabview.cxx
++++ b/sc/source/ui/view/tabview.cxx
+@@ -1198,8 +1198,6 @@ void ScTabView::ScrollX( long nDeltaX, ScHSplitPos eWhich, bool bUpdBars )
+         if (pColOutline[eWhich]) pColOutline[eWhich]->ScrollPixel( nDiff );
+         if (bUpdBars)
+             UpdateScrollBars();
+-        else
+-            UpdateGrid();
+     }
+ 
+     if (nDeltaX==1 || nDeltaX==-1)
+@@ -1285,8 +1283,6 @@ void ScTabView::ScrollY( long nDeltaY, ScVSplitPos eWhich, bool bUpdBars )
+         if (pRowOutline[eWhich]) pRowOutline[eWhich]->ScrollPixel( nDiff );
+         if (bUpdBars)
+             UpdateScrollBars();
+-        else
+-            UpdateGrid();
+     }
+ 
+     if (nDeltaY==1 || nDeltaY==-1)
+diff --git a/sc/source/ui/view/tabview3.cxx b/sc/source/ui/view/tabview3.cxx
+index 7053037..50066ba 100644
+--- a/sc/source/ui/view/tabview3.cxx
++++ b/sc/source/ui/view/tabview3.cxx
+@@ -2089,16 +2089,6 @@ void ScTabView::PaintRangeFinderEntry (ScRangeFindData* pData, const SCTAB nTab)
+     }
+ }
+ 
+-void ScTabView::UpdateGrid()
+-{
+-    if (!UpdateVisibleRange())
+-        // Visible range hasn't changed. No need to re-paint.
+-        return;
+-
+-    SC_MOD()->AnythingChanged();                // if visible area has changed
+-    PaintGrid();
+-}
+-
+ void ScTabView::PaintRangeFinder( long nNumber )
+ {
+     ScInputHandler* pHdl = SC_MOD()->GetInputHdl( aViewData.GetViewShell() );
+diff --git a/sc/source/ui/view/tabview4.cxx b/sc/source/ui/view/tabview4.cxx
+index 2f72a20..8528431 100644
+--- a/sc/source/ui/view/tabview4.cxx
++++ b/sc/source/ui/view/tabview4.cxx
+@@ -421,7 +421,12 @@ void ScTabView::UpdateScrollBars()
+     }
+ 
+     //      set visible area for online spelling
+-    UpdateGrid();
++
++    if ( aViewData.IsActive() )
++    {
++        if (UpdateVisibleRange())
++            SC_MOD()->AnythingChanged();                // if visible area has changed
++    }
+ }
+ 
+ #ifndef HDR_SLIDERSIZE
+-- 
+1.9.3
+
diff --git a/libreoffice.spec b/libreoffice.spec
index ee22c5f..f5a592b 100644
--- a/libreoffice.spec
+++ b/libreoffice.spec
@@ -306,6 +306,8 @@ Patch15: 0001-rhbz-1111216-allow-to-export-an-empty-sheet-to-PDF.patch
 Patch16: 0001-allow-build-with-icu-4.2.patch
 Patch17: 0001-avoid-problems-detecting-HTML-files-with-.xls-ext.patch
 Patch18: 0001-Resolves-fdo-80911-toggle-original-page-orientation-.patch
+Patch19: 0001-scrolling-very-slow-in-calc.patch
+Patch20: 0001-Related-rhbz-1117853-nStartPara-of-EE_PARA_NOT_FOUND.patch
 
 %define instdir %{_libdir}
 %define baseinstdir %{instdir}/libreoffice


More information about the scm-commits mailing list