From 8b4705e0e0c76503b1ca61cb567d222f49466fc5 Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Fri, 19 Aug 2016 11:10:43 +0200 Subject: sw: remove never read SwViewShell::mbInLibreOfficeKitCallback This was read in the now removed SwViewShell::libreOfficeKitCallback(), so add a similar flag to SfxViewShell instead, and restore the lost condition. This fixes paint/invalidation loops when inserting the first comment to a Writer document in gtktiledviewer. Change-Id: Iad5ef90848f3b309ef8db4553760dd36d9b8a37c Reviewed-on: https://gerrit.libreoffice.org/28236 Reviewed-by: Miklos Vajna Tested-by: Jenkins --- sfx2/source/view/viewimp.hxx | 2 ++ sfx2/source/view/viewsh.cxx | 14 ++++++++++++++ 2 files changed, 16 insertions(+) (limited to 'sfx2') diff --git a/sfx2/source/view/viewimp.hxx b/sfx2/source/view/viewimp.hxx index 95fdf8260df4..78481650958c 100644 --- a/sfx2/source/view/viewimp.hxx +++ b/sfx2/source/view/viewimp.hxx @@ -62,6 +62,8 @@ struct SfxViewShell_Impl void* m_pLibreOfficeKitViewData; /// Set if we are in the middle of a tiled search. bool m_bTiledSearching; + /// Set if we are in the middle of a tiled paint. + bool m_bTiledPainting; static sal_uInt32 m_nLastViewShellId; const sal_uInt32 m_nViewShellId; diff --git a/sfx2/source/view/viewsh.cxx b/sfx2/source/view/viewsh.cxx index 631d712c1dfe..f2d8e4875b2a 100644 --- a/sfx2/source/view/viewsh.cxx +++ b/sfx2/source/view/viewsh.cxx @@ -255,6 +255,7 @@ SfxViewShell_Impl::SfxViewShell_Impl(SfxViewShellFlags const nFlags) , m_pLibreOfficeKitViewCallback(nullptr) , m_pLibreOfficeKitViewData(nullptr) , m_bTiledSearching(false) +, m_bTiledPainting(false) , m_nViewShellId(SfxViewShell_Impl::m_nLastViewShellId++) {} @@ -1473,6 +1474,9 @@ void SfxViewShell::registerLibreOfficeKitViewCallback(LibreOfficeKitCallback pCa void SfxViewShell::libreOfficeKitViewCallback(int nType, const char* pPayload) const { + if (pImpl->m_bTiledPainting) + return; + if (pImpl->m_bTiledSearching) { switch (nType) @@ -1501,6 +1505,16 @@ bool SfxViewShell::isTiledSearching() const return pImpl->m_bTiledSearching; } +void SfxViewShell::setTiledPainting(bool bTiledPainting) +{ + pImpl->m_bTiledPainting = bTiledPainting; +} + +bool SfxViewShell::isTiledPainting() const +{ + return pImpl->m_bTiledPainting; +} + int SfxViewShell::getPart() const { return 0; -- cgit