diff options
author | Miklos Vajna <vmiklos@collabora.com> | 2020-11-24 17:26:32 +0100 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2020-11-25 21:15:35 +0100 |
commit | 3ed2f733f81b348e4be1c46c019e9588a6062bd2 (patch) | |
tree | 035151c025da070f88a974e05662965320ec2130 /sfx2/source | |
parent | 7fb8e6748a5dd8df11f50f6d846af4315a2c3831 (diff) |
sw tiled rendering: fix paint->invalidation loop when paint is started by vcl
SwViewShell::PaintTile() already calls
comphelper::LibreOfficeKit::setTiledPainting(), so by the time it would
rearch SwViewShell::Paint(), callbacks (e.g. invalidations) are ignored
during paint.
Do the same for SwEditWin::Paint(), where we processed invalidations
during paint, potentially leading to paint->invalidation loops.
Conflicts:
sw/qa/extras/tiledrendering/tiledrendering.cxx
sw/source/uibase/docvw/edtwin2.cxx
Change-Id: I8280f5c2571beeae6c0f2986d275dde3c2d33161
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106543
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106601
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Diffstat (limited to 'sfx2/source')
-rw-r--r-- | sfx2/source/view/viewsh.cxx | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/sfx2/source/view/viewsh.cxx b/sfx2/source/view/viewsh.cxx index dcbdc9ceef3a..cae5f15fe4b7 100644 --- a/sfx2/source/view/viewsh.cxx +++ b/sfx2/source/view/viewsh.cxx @@ -1488,8 +1488,18 @@ void SfxViewShell::libreOfficeKitViewCallback(int nType, const char* pPayload) c if (!comphelper::LibreOfficeKit::isActive()) return; - if (comphelper::LibreOfficeKit::isTiledPainting() && nType != LOK_CALLBACK_FORM_FIELD_BUTTON) - return; + if (comphelper::LibreOfficeKit::isTiledPainting()) + { + switch (nType) + { + case LOK_CALLBACK_FORM_FIELD_BUTTON: + case LOK_CALLBACK_TEXT_SELECTION: + break; + default: + // Reject e.g. invalidate during paint. + return; + } + } if (pImpl->m_bTiledSearching) { |