parent
8690bfbafd
commit
9831640935
@ -0,0 +1,62 @@
|
|||||||
|
From fdb1d62a09f7320ee5c2828aa4ce84248a6e3e4e Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@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
|
||||||
|
|
@ -0,0 +1,139 @@
|
|||||||
|
From 52ac64848e41c6c3bba86c98361757aaf89ef3c6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@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
|
||||||
|
|
Loading…
Reference in new issue