diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-08-12 14:16:11 +0200 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2015-08-13 10:04:39 +0000 |
commit | bc4904aba89bcbe267ca705ff76fc9d8629f73a3 (patch) | |
tree | 78ab362d4a098e3aa83169e4b869e1e74630a6cf | |
parent | 8f1d6909f519526312d9c9384b715a4db730eafc (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.cxx | 3 | ||||
-rw-r--r-- | sw/source/core/view/viewsh.cxx | 4 |
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); |