summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2015-08-12 14:16:11 +0200
committerCaolán McNamara <caolanm@redhat.com>2015-08-13 10:04:39 +0000
commitbc4904aba89bcbe267ca705ff76fc9d8629f73a3 (patch)
tree78ab362d4a098e3aa83169e4b869e1e74630a6cf
parent8f1d6909f519526312d9c9384b715a4db730eafc (diff)
tdf#93384 editeng rendercontext: don't paint spellcheck result directly
E.g. in Writer create a new comment, type a word that is not in the dictionary, then a space to trigger the spelling, and that painted the spelling error indicator outside Paint(). (cherry picked from commits 71aed9185fb17ee27bdc38b4ac650713c4cabb8b and 89bd30cf426ca54fc9e46295a60551b5bb2d3232) Change-Id: I8f72486189e04a5596729fb52b6af39772f8e002 Reviewed-on: https://gerrit.libreoffice.org/17690 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r--editeng/source/editeng/impedit4.cxx3
-rw-r--r--sw/source/core/view/viewsh.cxx4
2 files changed, 3 insertions, 4 deletions
diff --git a/editeng/source/editeng/impedit4.cxx b/editeng/source/editeng/impedit4.cxx
index 8cd007a3de34..0c26682d49f4 100644
--- a/editeng/source/editeng/impedit4.cxx
+++ b/editeng/source/editeng/impedit4.cxx
@@ -2414,8 +2414,7 @@ void ImpEditEngine::DoOnlineSpelling( ContentNode* pThisNodeOnly, bool bSpellAtC
{
// convert to window coordinates ....
aClipRect.SetPos( pView->pImpEditView->GetWindowPos( aClipRect.TopLeft() ) );
- // If selected, then VDev ...
- Paint( pView->pImpEditView, aClipRect, 0, pView->HasSelection() );
+ pView->pImpEditView->GetWindow()->Invalidate(aClipRect);
}
}
}
diff --git a/sw/source/core/view/viewsh.cxx b/sw/source/core/view/viewsh.cxx
index b934e76fc307..9cb69419f93c 100644
--- a/sw/source/core/view/viewsh.cxx
+++ b/sw/source/core/view/viewsh.cxx
@@ -1677,8 +1677,8 @@ public:
rtl::Reference<sdr::overlay::OverlayManager> xOldManager = pOldPaintWindow->GetOverlayManager();
if (xOldManager.is())
{
- SdrPaintWindow* pNewPaintWindow = m_pShell->Imp()->GetDrawView()->FindPaintWindow(*m_pRef);
- xOldManager->completeRedraw(pNewPaintWindow->GetRedrawRegion(), m_pRef);
+ if (SdrPaintWindow* pNewPaintWindow = m_pShell->Imp()->GetDrawView()->FindPaintWindow(*m_pRef))
+ xOldManager->completeRedraw(pNewPaintWindow->GetRedrawRegion(), m_pRef);
}
m_pShell->Imp()->GetDrawView()->DeleteWindowFromPaintView(m_pRef);