diff options
-rw-r--r-- | include/sfx2/viewsh.hxx | 4 | ||||
-rw-r--r-- | sfx2/source/view/viewimp.hxx | 2 | ||||
-rw-r--r-- | sfx2/source/view/viewsh.cxx | 14 | ||||
-rw-r--r-- | sw/inc/viewsh.hxx | 2 | ||||
-rw-r--r-- | sw/source/core/view/viewsh.cxx | 4 | ||||
-rw-r--r-- | sw/source/core/view/vnew.cxx | 2 |
6 files changed, 22 insertions, 6 deletions
diff --git a/include/sfx2/viewsh.hxx b/include/sfx2/viewsh.hxx index b4b38042164c..d20d4e35de55 100644 --- a/include/sfx2/viewsh.hxx +++ b/include/sfx2/viewsh.hxx @@ -331,6 +331,10 @@ public: void setTiledSearching(bool bTiledSearching); /// Are we doing tiled searching? bool isTiledSearching() const; + /// Set if we are doing tiled painting. + void setTiledPainting(bool bTiledPainting); + /// Are we doing tiled painting? + bool isTiledPainting() const; /// See lok::Document::getPart(). virtual int getPart() const; virtual void dumpAsXml(struct _xmlTextWriter* pWriter) const; 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; diff --git a/sw/inc/viewsh.hxx b/sw/inc/viewsh.hxx index abeea02675da..8223c0d29190 100644 --- a/sw/inc/viewsh.hxx +++ b/sw/inc/viewsh.hxx @@ -190,8 +190,6 @@ protected: sal_uInt16 mnLockPaint; ///< != 0 if Paint is locked. bool mbSelectAll; ///< Special select all mode: whole document selected, even if doc starts with table. - bool mbInLibreOfficeKitCallback; - /// The virtual device we paint to will end up on the screen. bool mbOutputToWindow; diff --git a/sw/source/core/view/viewsh.cxx b/sw/source/core/view/viewsh.cxx index 6c8a94b74183..64b6f7b6b979 100644 --- a/sw/source/core/view/viewsh.cxx +++ b/sw/source/core/view/viewsh.cxx @@ -1842,7 +1842,7 @@ void SwViewShell::PaintTile(VirtualDevice &rDevice, int contextWidth, int contex // TODO clean up SwViewShell's approach to output devices (the many of // them - mpBufferedOut, mpOut, mpWin, ...) OutputDevice *pSaveOut = mpOut; - mbInLibreOfficeKitCallback = true; + GetSfxViewShell()->setTiledPainting(true); mpOut = &rDevice; // resizes the virtual device so to contain the entries context @@ -1895,7 +1895,7 @@ void SwViewShell::PaintTile(VirtualDevice &rDevice, int contextWidth, int contex // SwViewShell's output device tear down mpOut = pSaveOut; - mbInLibreOfficeKitCallback = false; + GetSfxViewShell()->setTiledPainting(false); } void SwViewShell::SetBrowseBorder( const Size& rNew ) diff --git a/sw/source/core/view/vnew.cxx b/sw/source/core/view/vnew.cxx index f98cf74a83ec..dd4fc972072d 100644 --- a/sw/source/core/view/vnew.cxx +++ b/sw/source/core/view/vnew.cxx @@ -164,7 +164,6 @@ SwViewShell::SwViewShell( SwDoc& rDocument, vcl::Window *pWindow, mnStartAction( 0 ), mnLockPaint( 0 ), mbSelectAll(false), - mbInLibreOfficeKitCallback(false), mbOutputToWindow(false), mpPrePostOutDev(nullptr), maPrePostMapMode() @@ -241,7 +240,6 @@ SwViewShell::SwViewShell( SwViewShell& rShell, vcl::Window *pWindow, mnStartAction( 0 ), mnLockPaint( 0 ), mbSelectAll(false), - mbInLibreOfficeKitCallback(false), mbOutputToWindow(false), mpPrePostOutDev(nullptr), maPrePostMapMode() |